将 arg 传递给 subprocess.call

Passing arg to subprocess.call

我有一系列脚本被另一个 run.py 按明确顺序调用。

里面 run.py 我有以下内容:

script1 = str(sys.path[0]) + "\script1.py"
subprocess.call(["Python", script1])

3 个脚本依此类推。如果我想以这种格式向脚本 1 传递两个参数,例如在脚本执行时要在脚本中使用的显式 运行 设置等参数,我该怎么做?我感觉它会依赖于 script1 中的 sys.argv,但是无论我传递的索引位置如何,都会出现关于参数超出范围的错误。

谢谢!

子进程获取参数列表,然后将其转换为执行的命令。

所以:

subprocess.call(["Python", script1, 'arg1', 'arg2'])

subprocess.call所有其列表的部分都是参数。您只是碰巧指定了 "Python" 和 script1,但是对于子进程,两者都只是其他参数。

documentation for subprocess 上有很多阅读材料,我建议您阅读。