我搜索了网络和这个网站,但找不到这个问题的答案。我确定它就在我面前的某个地方,但找不到它。
我需要能够基于字符串导入模块。然后在传递参数的同时在该模块中执行一个函数。
我可以基于字符串导入,然后使用 eval() 执行,但我知道这不是处理这个问题的最佳方法。我似乎也不能那样传递论点。
我当前基于字符串设置的模块名为 TestAction.py,位于名为 Tasks 的文件夹中。这是 TestAction.py 的内容:
def doSomething(var):
print var
这是我正在执行以导入 TestAction 并执行的代码。
module = "Tasks.TestAction"
import Tasks
mymod = __import__(module)
eval(module + ".doSomething()")
如何使此代码 #1 不使用eval()
并且 #2 将 var 参数传递给doSomething()
?
提前致谢!