【问题标题】:Python: Is it possible to make 'print' flush by default?Python:默认情况下是否可以使“打印”刷新?
【发布时间】:2021-04-05 02:04:30
【问题描述】:

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

print("foobar", flush=True)

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

【问题讨论】:

    标签: python printing stdout default flush


    【解决方案1】:

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

    python -u
    

    或者设置环境变量

    PYTHONUNBUFFERED=TRUE
    

    【讨论】:

    • 这有点依赖命令行,并没有通过它提交给 git 与一个 bash 文件一起去很好
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-28
      • 2011-05-31
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多