Python: 是否可以让 'print' 默认刷新?

Python: Is it possible to make 'print' flush by default?

Python3中的print函数可能会收到一个布尔值是否立即刷新:

print("foobar", flush=True)

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

您可以 运行 Python 在非缓冲模式下使用:

python -u

或者设置环境变量

PYTHONUNBUFFERED=TRUE

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

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

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