Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在pycharm中禁用python标准输出缓冲区?_Python_Pycharm_Stdout_Stderr - Fatal编程技术网

如何在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