我想從另一個Python腳本運行Python腳本。我想要像使用命令行一樣傳遞變量。從另一個python腳本運行python腳本,傳入參數
例如,我會跑我的,將通過值(0,1,2,3)的列表迭代第一個腳本,並通過那些到第二腳本script2.py 0
然後script2.py 1
等
我發現SO 1186789這是一個類似的問題,但阿爾斯的答案調用函數,因爲我想運行整個腳本不只是一個函數,和balpha的答案調用腳本,但沒有參數。我將其改爲如下所示的測試:
execfile("script2.py 1")
但它沒有正確接受變量。當我在script2.py中打印出sys.argv
時,它是第一個腳本「['C:\ script1.py']」的原始命令調用。
我不是真的想要更改原始腳本(即script2。 。在我的例子PY),因爲我不擁有它
我想一定有辦法做到這一點,我只是困惑,你是怎麼做到的
問題是如果您知道腳本的名稱(然後導入它),或者如果您在編程時不知道腳本的名稱(然後使用subprocess.call)。在第二種情況下,這個問題也不會重複。因爲這個問題沒有說清楚,所以也不是很好。 – Trilarion 2015-09-03 11:37:47
@Trilarion:錯了。你可以導入一個python模塊,即使它的名字是在運行時生成的。 – jfs 2015-11-29 08:33:50
@ J.F.Sebastian好的。作爲一個方面的評論:這種方式並沒有真正涵蓋任何答案或鏈接的問題,部分在http://stackoverflow.com/a/1186840/1536976。 – Trilarion 2015-11-29 10:05:05