我有腳本:導入Python腳本
moving1.py:
def move():
print("walk!")
moving2.py:
def move():
print("run!")
而且man.py,即可以通過參數參數moving1或move2腳本來接受動作。
man.py:
import sys
if len(sys.argv) <= 1:
exit("Too less arguments calling script")
__import__(sys.argv[1])
moving = sys.modules[sys.argv[1]]
def move():
moving.move()
現在我有testman.py劇本,有測試man.py執行的所有變體:
testman.py
import man #and somehow add here as argument "moving1"
man.move()
import man #and somehow add here as argument "moving2"
man.move()
存在很多類似的問題,但它們並不完全符合我的要求。我怎樣才能爲導入的腳本添加參數?問題是不檢查
if __name__ = "__main__":
存在,問題是與我想要的參數完全相同導入腳本。可能嗎?
你不能只是像這樣提出一個字符串:「異常必須是舊式類或從BaseException派生,而不是unicode」 –
Thx,修復了這個問題。 – Arkady
爲什麼存在這種分離?在同一個文件中包含函數並且僅將一個命令行參數映射到函數會容易得多。 – msvalkon