subprocess.Popen:如何将列表作为参数传递

Ser*_*rge 11 python subprocess popen

我只需要提示如何正确地做事.

假设我有一个名为script.py的脚本,该脚本使用名称列表作为参数["name1","name2"等].

我想使用子进程模块从另一个脚本调用此脚本.所以我想做的是以下内容:

myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
Run Code Online (Sandbox Code Playgroud)

当然这不起作用,因为subprocess.Popen方法需要一个字符串列表作为参数.所以我考虑做以下事情:

subprocess.Popen(["python", "script.py", str(myList)])
Run Code Online (Sandbox Code Playgroud)

现在该过程开始但它不起作用,因为它有一个字符串作为参数而不是列表.我该如何妥善解决?

fal*_*tru 24

使用+运算符连接它们.

myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py"] + myList)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你想使用相同的python程序,请替换"python"sys.executable.