gpt4 book ai didi

Python - 从长时间运行的子进程中读取输出

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:11 24 4
gpt4 key购买 nike

<分区>

使用子进程模块 (Python 2.7),我正在运行一个命令并尝试在它运行时处理它的输出。

我有如下代码:

process = subprocess.Popen(
['udevadm', 'monitor', '--subsystem=usb', '--property'],
stdout=subprocess.PIPE)
for line in iter(process.stdout.readline, ''):
print(line)

但是,即使我在打印语句后添加 sys.stdout.flush(),输出也只会在我按 Ctrl+C 后打印出来。

为什么会发生这种情况,我如何实时流式传输此过程的输出?

值得注意的是,这个 udevadm monitor 命令并不是为了终止,所以我不能简单地等待进程终止并立即处理它的所有输出。

我找到了 live output from subprocess command但是接受的答案中的方法并没有解决我的问题。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com