将 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 上有很多阅读材料,我建议您阅读。
我有一系列脚本被另一个 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 上有很多阅读材料,我建议您阅读。