设置python管道 - python子进程

时间:2018-02-23 23:06:54

标签: python python-2.7

使用子进程在python中完成以下管道的最佳方法是什么:

  1. 并行运行三个脚本文件python1_a.py,python1_b.py,python1_c.py
  2. 如果未引发任何错误,请运行python2.py
  3. 如果未引发任何错误,请运行python3.py
  4. 此外,我还想通过argprase传递参数。

    注意:这些文件中有print语句来公开进度 - 记录它们的最佳方法是什么?

    如果你能用一个示例代码回答那就太棒了

1 个答案:

答案 0 :(得分:2)

并行运行:

import subprocess

proc = []
for script in (['python1_a.py', 'arg1'], ['python1_b.py', 'arg2'], ['python1_c.py', 'argx']):
    p = subprocess.Popen(script)
    proc.append(p)

for p in proc:
    p.wait() 

后来简单地说:

ret = subprocess.call('python2.py arg1 arg2', shell=True)
if not ret:
    subprocess.call('python3.py arg1 arg2', shell=True)