Python3 - 从其他exe的非刷新缓冲区读取

时间:2015-09-21 07:59:39

标签: python c++ debugging stream filestream

我有一个用C ++编写的应用程序,它写入一个ofstream(文件输出流)。 问题是,C ++ - 应用程序在刷新流(&lt;&lt; endl )之前正在编写大约2&000; 000行,并且输出在文件内部变得可见(我通过< em> tail -f )。但出于调试目的,我想看到流的未刷新的内容

添加&lt;&lt;在C ++中的endl - 应用程序听起来是逻辑,但根本不可能,因为有太多的地方需要添加&lt;&lt; endl 它看起来真的很难看,因为我必须添加

#ifdef _DEBUG
fileStream << endl;
#endif

代码中的任何地方。

所以我正在寻找一种从另一个应用程序中读取流的方法。 我已经阅读了很多stackoverflow文章,包括[从刷新的vs未刷新的缓冲区读取](从刷新的vs未刷新的缓冲区读取)和许多其他文章。 但我只能通过

找到第二个应用程序作为Python脚本内部的子进程调用的答案
import subprocess
p = subprocess.Popen("a.out", **stdout=subprocess.PIPE**)

并将标准输出重定向到管道。 但在我的情况下,我不会将stdout重定向到子进程的管道,我想从未刷新的缓冲区读取。 有没有办法用Python 3做到这一点?

0 个答案:

没有答案