Python:默认情况下是否可以使“print”自动清空缓冲区?

3

Python 3中的print函数可以接受一个布尔值,用于控制是否立即刷新:

print("foobar", flush=True)

我希望在使用print函数打印输出时,能够默认将输出立即刷新,不需要额外设置。是否有这样的可能性?如果有,可以提供相应的解决方案。

2个回答

5

您可以使用以下方式以未缓存模式运行Python:

python -u

或者设置环境变量

PYTHONUNBUFFERED=TRUE

这有点依赖于命令行,虽然它没有通过git提交,但是配合一个bash文件还是很好的。 - Dee

3

对我来说,这似乎是使用 functools.partial 的任务,但我不确定它在这种情况下是否有效,因此请尝试以下操作:在文件开头添加

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

测试一下是否符合你的要求?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接