我已经在网上和这个站点上搜索了,但找不到解决这个问题的答案。 我肯定它就在我的眼前,但找不到它。
我需要能够根据字符串导入模块。 然后执行该模块中的函数并传递参数。
我可以根据字符串进行导入,然后使用eval()执行,但我知道这不是处理此问题的最佳方法。 我也无法以那种方式传递参数。
我当前的模块会根据一个字符串设置,名称为TestAction.py,位于名为Tasks的文件夹中。 这是TestAction.py的内容:
def doSomething(var):
print var
这是我正在执行的代码,用于导入TestAction并执行。
module = "Tasks.TestAction"
import Tasks
mymod = __import__(module)
eval(module + ".doSomething()")
我该如何修改这段代码,使其不使用
eval()
函数,并将变量参数传递给doSomething()
函数呢?谢谢!