我试图找到一种方法来访问模块变量的名称,但还没有发现任何东西。我使用的是现在的事情是:python通过名称获取模块变量
var = eval('myModule.%s' % (variableName))
但它的模糊,打破IDE错误检查(即日食/ PyDev的进口Mymodule中被标记为未使用,而它的需要上面的行)。有没有更好的方法来做到这一点?可能是模块内置函数,我不知道?
我试图找到一种方法来访问模块变量的名称,但还没有发现任何东西。我使用的是现在的事情是:python通过名称获取模块变量
var = eval('myModule.%s' % (variableName))
但它的模糊,打破IDE错误检查(即日食/ PyDev的进口Mymodule中被标记为未使用,而它的需要上面的行)。有没有更好的方法来做到这一点?可能是模块内置函数,我不知道?
import mymodule
var = getattr(mymodule, variablename)
getattr(themodule, "attribute_name", None)
第三种说法是,如果属性不存在默认值。
从https://docs.python.org/2/library/functions.html#getattr
返回对象的指定属性的值。名称必须是字符串。如果字符串是对象属性之一的名称,则结果是该属性的值。例如,getattr(x,'foobar')等同于x.foobar。如果指定的属性不存在,则返回默认值(如果提供),否则引发AttributeError。
如果您提供示例代码,请使用'getattr' .. –
@AshwiniChaudhary我会接受此答案。在网络上真的没有这样的例子。 – ducin