如何使用函数名称从字符串中调用 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"]()
广告