从 Linux 中的 Python 开始,我想启动一个子进程,等到它在标准输出上打印一行,然后继续我的 Python 脚本的其余部分。如果我做:
from subprocess import *
proc = Popen(my_process, stdout=PIPE)
proc.readline()
# Now continue with the rest of my script
如果我的进程由于管道填满而向其标准输出写入大量内容,它最终会阻塞吗?
理想情况下,我希望其余的输出转到我的脚本的标准输出。有没有办法在启动后将子进程的标准输出从 PIPE 更改为我的标准输出?
我猜我必须生成一个单独的线程才能从我的进程的标准输出中读取并打印到我自己的,但如果有更简单的解决方案,我想避免这种情况。