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"]()