这样做是可能的,但我能想到的唯一解决方案是相当复杂,不可移植,并且可能充满了有问题的细节.您可以使用LD_PRELOAD使外部应用程序加载动态库,该库包含一个调用setvbuf到unbuffer stdout的构造函数.您可能还希望在库中包装setvbuf以防止应用程序显式缓冲其自己的stdout.并且你想要包装fwrite和printf,以便它们在每次调用时刷新.编写要预加载的.so会将你带到python之外.
Jon*_*San -1
尝试使用 -u 参数运行 Python 解释器:
python -u myscript.py
Run Code Online (Sandbox Code Playgroud)
这会强制 Python 使用无缓冲的 stdin/stdout,这可能会对您有所帮助。
| 归档时间: |
|
| 查看次数: |
4860 次 |
| 最近记录: |