dynamic execute a function by a string like 'module.function'
本问题已经有最佳答案,请猛点这里访问。
如果我有一个类似"module.function"的字符串,如何只执行一步函数?like
您可以使用
1 2 3 4 | import sys func ="os.error" module, function = func.split(".", 1) getattr(sys.modules[module], function)() |
例如,
1 2 | module, function ="math.factorial".split(".", 1) print getattr(__import__(module), function)(5) |
。
产量
1 | 120 |
你要做的就是
1 | from module import function |
你可以打电话
1 | function(x, y, z) |
号
在你的代码中。