3

我有一组模块,我希望能够根据给定函数的参数在函数中调用其中的一个。我试过这个,但它不起作用:

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(name_of_mod_under_modules),我希望 modules.variable 行是“modules.name_of_mod_under_modules”,然后我可以将其作为传递给 mod_object 的对象。

4

1 回答 1

3

在您当前的代码中,您正在寻找modules.variable不存在的代码,因此出现错误!这不是你获得对象属性的方式。

要实现您想要的,请使用该getattr功能。

mod_object = getattr(modules, variable)
于 2013-11-11T23:35:36.513 回答