Python:默认情况下是否可以使“打印”刷新?

问题描述

Python 3 中的 print 函数可能会收到一个布尔值来决定是否立即刷新:

print("foobar",flush=True)

我希望 print 函数认刷新所有打印的内容,这可能吗?变通方法、临时设置等。

解决方法

您可以通过以下方式在无缓冲模式下运行 Python:

python -u

或者设置环境变量

PYTHONUNBUFFERED=TRUE
,

对我来说,这看起来像是 functools.partial 的任务,但我不确定它是否适用于这种情况,所以您可以尝试以下操作:在文件开头添加

import functools
print = functools.partial(print,flush=True)

并测试它是否符合您的要求?