我创建了两个脚本,其中一个脚本执行另一个脚本并尝试实时接收它的输出。你知道吗
尝试获取输出的脚本:
import subprocess
p = subprocess.Popen("python .\\print.py", stdout=subprocess.PIPE)
print p.stdout.readline()
第二个脚本:
import time
print "1se12d12d32d3223"
print "\r"
time.sleep(10000)
问题是,我只在子进程结束时获得输出,即使行已经写入stdout。你知道吗
我尝试了以下方法:
我所要做的就是在子进程还活着的时候读取它的第一行标准输出。在python中如何做到这一点?你知道吗
默认情况下,Python缓冲其输出。在某些情况下,输出会自动刷新。例如,当您在终端中运行第二个脚本时,您将立即看到输出。你知道吗
可以通过在
sleep()
调用之前插入sys.stdout.flush()
来显式刷新输出。你知道吗相关问题 更多 >
编程相关推荐