我只需要一点提示,知道如何正确地做事。
比方说我有一个名为 script.py 的脚本,它使用一个名字列表作为参数 ["name1", "name2"等]。
我想使用 subprocess 模块从另一个脚本调用这个脚本。我想要做的是:
myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
当然那行不通,因为subprocess.Popen方法需要以字符串列表形式提供参数。 因此我考虑采取以下做法:
subprocess.Popen(["python", "script.py", str(myList)])
现在流程已经开始,但由于参数为字符串而不是列表,所以无法正常工作。我应该如何正确修复它?
.extend()
。 - Niklas R+ list(myList)
- falsetruextend
才有用。subprocess.Popen(["python", "script.py"].extend(myList))
会将None
(即extend
的返回值)作为第一个且唯一的参数传递给Popen()
。 - chepnersys.argv
接收这些命令行参数。 - falsetru