我只需要提示如何正確地做事情。subprocess.Popen:如何傳遞一個列表作爲參數
說我有一個名爲script.py的腳本,它使用名稱列表作爲參數[「name1」,「name2」等]。
我想使用子流程模塊從另一個腳本調用此腳本。因此,我想要做的是:
myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
當然,這並不工作,因爲subprocess.Popen方法需要字符串作爲參數的清單。 所以,我認爲執行以下操作:
subprocess.Popen(["python", "script.py", str(myList)])
現在的過程開始,但它不工作,因爲它有一個字符串作爲參數,而不是一個列表。我應該如何解決這個問題?
或'.extend()'如果您不確定附加參數的類型。 –
@NiklasR或'+ list(myList)' – falsetru
'extend'只有在調用之前修改指定列表時纔有用。 'subprocess.Popen([「python」,「script.py」] .extension(myList))'會傳遞'None'('extend'的返回值)作爲'Popen()'的第一個也是唯一的參數。 – chepner