2014-06-24 51 views
2

說我有一個函數,它需要兩個參數:arg1,arg2。我想要這個函數然後調用arg1_arg2.py。當然,實際的文件不會被稱爲arg1_arg2.py。所以,如果用戶輸入hello,那麼你可以調用hello_hi.py(更具體地說,它實例化了一個位於hello_hi.py中的類,但這並不重要)。我不能用%s來做這件事,因爲我正在處理文件,而不是字符串。Python - 如何使方法根據方法參數調用特定的.py腳本?

回答

4

您可以使用importlib

import importlib 

hello = importlib.import_module("hello_hi.py") 
+0

謝謝!這工作。 –

0

這聽起來像你想使用importlibshown here。爲什麼不只是把一個頂級__init__.py在目錄 - - 像

import importlib 
importlib.import_module("{}.py".format(your_str)) 

我認爲,幾乎可以肯定有更好的方式,雖然做這樣的東西假定該目錄是myclasses - 然後實例getattr(myclasses, your_str).ClassName()代替。 importlib似乎是錯誤的路要走。

相關問題