test1.py是通过传递已传递给test1.py的相同参数列表来调用另一个脚本test2.py的主脚本。我已经完成了以下操作,但它将sys.argv列表作为字符串读取并解析为多个参数,并且还包含不必要的[和,
test1.py
import os
import sys
argList=sys.argv[1:]
os.system('python another/location/test2.py %s'%(argList))
test2.py
import sys
print(sys.argv[1:])
Call test1.py
python test1.py -a -b -c
output: ['[-a,' ,'-b,', '-c]' ]
请发布是否有更好的opti
答案 0 :(得分:1)
使用
os.system('python another/location/test2.py %s' % ' '.join(argList))
如果参数本身不包含空格。
第二个程序将输出
['-a', '-b', '-c']
如果你的参数可以包含空格,最好引用它们。使用' '.join("'%s'" % arg.replace("'", "\\'") for arg in ArgList)
答案 1 :(得分:0)
如果您需要在调用test2.py之后立即退出test1.py
import subprocess
subprocess.Popen( ('python', 'another/location/test2.py') + tuple( sys.argv[1:]) )