2017-03-07 72 views
0

我有一个已加载的模块,并检查它的所有函数以检查它们是否具有某个参数。如果他们这样做,我运行这些功能;如何在Python中检查函数是否属于某个模块

问题是模块也会有它自己的导入,它会添加到函数列表中,导入的模块的一些功能也会运行。我需要检查一个函数是否属于某个模块。

import bar; 
def function(special_param): 
    #dostuff 

bar我有一个名为other_functionspecial_param以及功能。通过导入它,Python可以导入它的所有功能。如何检查other_function是否属于bar

+2

的[确定一个功能的Python模块中可用]可能的复制(http://stackoverflow.com/questions/763971/确定-IF-A-功能是可用式-A-蟒模块) – nir0s

回答

0
if hasattr(bar, 'other_function'): 
    do_something() 

注意other_function也可能是bar一个变量,而不是一个函数。

编辑:这是一个重复的:Determine if a function is available in a Python module其中由@macrog给出了更好的答案。改用它。 (标记为重复你的问题)

0

你可以试试这个,

if hasattr(bar, 'other_function'): 
     getattr(bar, 'other_function')('Special_parameter')