如何在python函数中为模块名称赋值变量

时间:2013-11-11 23:32:51

标签: 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'

它没有接受我给它的参数,这是my.set.modules下存在的模块的名称。所以,如果我调用函数get_modules(name_of_mod_under_modules),我希望行modules.variable为“modules.name_of_mod_under_modules”,然后我可以将其作为传递给mod_object的对象。

1 个答案:

答案 0 :(得分:3)

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

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

mod_object = getattr(modules, variable)