我搜索了網站和本網站,無法找到這個問題的答案。我確定它在我面前的某個地方,但無法找到它。Python - 基於字符串的導入模塊,然後傳遞參數
我需要能夠基於字符串導入模塊。然後在傳遞參數的同時在該模塊中執行一個函數。
我可以根據字符串導入,然後使用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()
?
在此先感謝!
我有一個用例限於Python2.6。 _not_使用importlib有什麼缺點?由於importlib在2.6中不存在,我沒有選擇。但我想知道可能會出現什麼問題?我假設必須有一些可能的問題,否則importlib不會被創建。 – synaptik 2018-01-05 23:03:01