[使用subprocess.Popen时如何获取打印件

问题描述 投票:0回答:1

我一直在使用脚本,例如

subprocess.Popen(f"py test.py hello &", shell=True, universal_newlines=True)

将打开脚本test.py:

import time
import sys

while True:
   print(sys.argv[1])
   time.sleep(1)

但是,如果我运行倍数等

subprocess.Popen(f"py test.py hello &", shell=True, universal_newlines=True)
subprocess.Popen(f"py test.py world &", shell=True, universal_newlines=True)
subprocess.Popen(f"py test.py stackoverflow &", shell=True, universal_newlines=True)

这意味着每个运行都将有其自己的sys.argv [1]值,并将一遍又一遍地打印出来。

但是,我想创建一个脚本,在其中调用etcpy outprints.py test hello“所有带有argv为” hello“的test.py进行打印,并在此过程中继续打印的subprocess.Popen(f"py test.py hello &", shell=True, universal_newlines=True)

[我想知道是否有可能执行这样的脚本来读取后台脚本的输出,并查看其输出,如果可以,我该怎么办?

我一直在使用诸如subprocess.Popen(f“ py test.py hello&”,shell = True,universal_newlines = True)之类的脚本,它们将打开脚本test.py:import time import sys while ...

python printing subprocess popen
1个回答
1
投票

这是将子流程之一的输出读回到主流程的示例。

© www.soinside.com 2019 - 2024. All rights reserved.