使用子进程在 python 中完成以下管道的最佳方法是什么:
- 并行运行三个脚本文件 python1_a.py、python1_b.py、python1_c.py
- 如果没有出现错误,则运行 python2.py
- 如果没有出现错误,则运行 python3.py
此外,我想通过 argprase 传递参数。
注意:这些文件中有打印语句来公开进度 - 记录它们的最佳方法是什么?
如果您能用示例代码回答那就太好了
最佳答案
并行运行:
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)
关于python - 设置 python 管道 - python 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957481/