可能重复:
逐行读取子进程标准输出
我编写了一个 C++ 程序,可以在 Linux 控制台中生成所有文本。
我正在使用 python 脚本来解析这个 C++ 的输出。我这样做是这样的:
cmd = ["./starter"]
p = subprocess.Popen(cmd,
stdout=subprocess.PIPE)
for line in p.stdout:
strLine = str(line).rstrip()
print(">>> " + strLine )
这是有效的。但是我有一个主要问题,输出不是实时的。我的意思是,在启动脚本后什么都没有打印出来,但只有在几秒钟之后才会出现..这几乎就像 python 正在等待最大字符数然后一次打印它们......
有没有办法告诉 python 在 C++ 程序打印后尽快打印一行?