【问题标题】:How to disable python stdout buffer in pycharm?如何在pycharm中禁用python标准输出缓冲区?
【发布时间】:2016-07-13 05:31:49
【问题描述】:

我知道使用-u,python 的标准输出缓冲区将被禁用。它在 sublime 和 bash 中工作,但在 pycharm 中,我设置了Run->Edit Configurations->Interpreter options->add -u,它没有。我的测试代码如下:

# -*- encoding: utf-8 -*-
import sys
print "stdout1"
print >> sys.stderr, "stderr1"
print "stdout2"
print >> sys.stderr, "stderr2"
print "stdout3"
print >> sys.stderr, "stderr3"

这是“运行”窗口中的结果:

C:\Python27\python.exe -u "D:/Python Projects/compute - 2016.7.13/main.py"
stderr1
stderr2
stderr3
stdout1
stdout2
stdout3

Process finished with exit code 0

结果总是变化,好像'-u'不起作用

【问题讨论】:

  • @AkshatMahajan 我的python是2.7.12,>>表示重定向输出

标签: python pycharm stdout stderr


【解决方案1】:

我认为问题与 python 缓冲输出无关:如果您在控制台中运行示例,则顺序将是正确的。 IDE 处理脚本进程的输出,并且必须同时捕获 stdout 和 stderr,但是当两个流都被截获时,不可能保持顺序。 以下是一些相关讨论:onetwothree

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多