如何在python函数中将变量分配给模块名
我有一组模块,我希望能够根据给定给该函数的参数在函数中调用其中一个模块。我试过这个,但不起作用:如何在python函数中将变量分配给模块名,python,module,Python,Module,我有一组模块,我希望能够根据给定给该函数的参数在函数中调用其中一个模块。我试过这个,但不起作用: from my.set import modules def get_modules(sub_mod): variable = sub_mod mod_object = modules.variable function(mod_object) 我得到: AttributeError: 'module' object has no attribute 'variable'
from my.set import modules
def get_modules(sub_mod):
variable = sub_mod
mod_object = modules.variable
function(mod_object)
我得到:
AttributeError: 'module' object has no attribute 'variable'
它不接受我给它的参数,它是存在于my.set.modules下的一个模块的名称。因此,如果我调用函数get_modules(modules下的module的name_),我希望modules.variable行是“modules.name_of modules下的modules”,我可以将其作为对象传递给mod_对象。在当前代码中,您正在查找不存在的
modules.variable
,因此出现了错误!这不是获取对象属性的方式
要实现您想要的功能,请使用getattr
函数
mod_object = getattr(modules, variable)
你希望
sub_mod
是什么?我希望它成为my.set.modules中的一个子模块公布我的答案,请查看。