Python - 使用Popen时for-loop意外中断

时间:2017-07-09 17:58:42

标签: python loops for-loop subprocess popen

我需要多次调用一个脚本但使用不同的参数。参数存储在argument_list及其字符串列表中。

for argument in argument_list:
    python_command = "python another_script.py --server " + argument
    p = Popen(python_command,shell=True, stdout=PIPE, stderr=PIPE)
    stdout, stderr = p.communicate()

问题是,在一次迭代之后,脚本从for循环中断,即使argument_list中仍有项目并且循环中没有中断。

任何人都知道它为什么会发生,我该如何解决?谢谢你的任何建议。

1 个答案:

答案 0 :(得分:0)

python_command = "python another_script.py --server " + argument

Popen的参数必须按顺序排列:

python_command = ["python", "another_script.py", "--server", argument]

另外,建议:尝试将Popen语句放在try ... except中,这样如果出现错误,您将获得有关原因的更详细说明。