问题描述
Python 3 中的 print
函数可能会收到一个布尔值来决定是否立即刷新:
print("foobar",flush=True)
我希望 print
函数默认刷新所有打印的内容,这可能吗?变通方法、临时设置等。
解决方法
您可以通过以下方式在无缓冲模式下运行 Python:
python -u
或者设置环境变量
PYTHONUNBUFFERED=TRUE
,
对我来说,这看起来像是 functools.partial 的任务,但我不确定它是否适用于这种情况,所以您可以尝试以下操作:在文件开头添加
import functools
print = functools.partial(print,flush=True)
并测试它是否符合您的要求?