如果函数属于模块,如何检查Python

时间:2017-03-07 09:12:07

标签: python function module

我有一个已加载的模块,我会检查它的所有功能,以检查它们是否有某个参数。如果他们这样做,我会运行这些功能;

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

import bar;
def function(special_param):
    #dostuff

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

2 个答案:

答案 0 :(得分:0)

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

请注意,other_function也可能是bar中的变量,而不是函数。

编辑:这是:Determine if a function is available in a Python module的副本,其中给出了@macrog的更好答案。请改用它。 (将您的问题标记为重复)

答案 1 :(得分:0)

你可以试试这个,

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