如何在pycharm中禁用python标准输出缓冲区?
我知道使用如何在pycharm中禁用python标准输出缓冲区?,python,pycharm,stdout,stderr,Python,Pycharm,Stdout,Stderr,我知道使用-u,python的标准输出缓冲区将被禁用。它在sublime和bash中工作,但在pycharm中,我设置了Run->编辑配置->解释器选项->add-u,它不工作。我的测试代码如下: # -*- encoding: utf-8 -*- import sys print "stdout1" print >> sys.stderr, "stderr1" print "stdout2" print >> sys.stderr, "stderr2" print "s
-u
,python的标准输出缓冲区将被禁用。它在sublime和bash中工作,但在pycharm中,我设置了Run->编辑配置->解释器选项->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"
以下是“运行”窗口中的结果:
结果总是会发生变化,看起来“-u”不起作用我认为问题与python缓冲输出无关:如果您在控制台中运行示例,顺序将是正确的。 IDE处理脚本进程的输出,并且必须捕获stdout和stderr,但在截获两个流时不可能保持顺序。
下面是一些相关的讨论:,。@AkshatMahajan我的python是2.7.12,而>>意味着重定向输出
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