gpt4 book ai didi

python - 如何在 Python 中读取子进程的第一行而不填充缓冲区

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

从 Linux 中的 Python 中,我想启动一个子进程,等到它在标准输出上打印一行,然后继续执行 Python 脚本的其余部分。如果我这样做:

from subprocess import *

proc = Popen(my_process, stdout=PIPE)
proc.readline()

# Now continue with the rest of my script

如果我的进程向标准输出写入大量数据,因为管道已满,它最终会阻塞吗?

理想情况下,我希望其余输出转到脚本的标准输出。有没有办法在启动后将子进程的标准输出从 PIPE 更改为我的标准输出?

我猜我必须生成一个单独的线程才能从我的进程的标准输出中读取并打印到我自己的,但如果有更简单的解决方案,我想避免这种情况。

最佳答案

停止进程?

proc.terminate()

阅读行之后

关于python - 如何在 Python 中读取子进程的第一行而不填充缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790030/

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