我有一系列脚本,由另一个run.py
以明确的顺序调用。
在run.py
内我有以下内容:
script1 = str(sys.path[0]) + "\\script1.py"
subprocess.call(["Python", script1])
等3个脚本。如果我想以这种格式将两个参数传递给脚本1,那么诸如显式运行设置之类的参数将在脚本执行时使用,我该怎么做?我有一种感觉它会依赖于script1中的sys.argv,但是无论我传递了什么索引位置,都会出现关于参数超出范围的错误。
谢谢!
答案 0 :(得分:3)
子进程获取一个参数列表,然后将其转换为它执行的命令。
所以:
subprocess.call(["Python", script1, 'arg1', 'arg2'])
要subprocess.call
,所有,其列表中的部分都是参数。您恰好正在指定“Python”和script1,但是对于子进程,两者都只是其他参数。
documentation for subprocess上有更多阅读材料,我建议您查看。