如何通过函数名称的字符串调用Python模块中的函数?
在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"]()
极客教程