如何使用函数名称从字符串调用 Python 模块的函数?
Python 中的对象具有实例变量和方法作为属性。要使用函数的名称从字符串调用模块的函数,可以先获取该属性,再调用附加到该属性上的函数对象。例如,假设我有一个模块 foo,并且我有一个内容为“bar”的字符串。调用 foo.bar() 的最佳方法是
>>> import foo >>> method_to_call = getattr(foo, 'bar') >>> result = method_to_call()
如果在全局或局部命名空间中没有模块前缀,也可以使用 globals()/locals()。locals 返回包含当前局部符号表的字典。globals 返回包含全局符号表的字典。
例如
>>> result = locals()["myfunction"]() or >>> result = globals()["myfunction"]()
广告