2016-07-13 8 views
-1

私は-uと知っていますが、pythonのstdoutバッファは無効になります。それは崇高とbashで動作しますが、pycharmでは、私はRun->Edit Configurations->Interpreter options->add -uと設定します。私のテストコードは、次のとおりです。pycharmのpython stdoutバッファを無効にするにはどうすればいいですか?

# -*- 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」は

+0

@AkshatMahajan私のpythonは2.7.12で、>>は出力をリダイレクトすることを意味します – Ryan

答えて

1
を動作しないようです

私は問題がPythonのバッファリングされた出力に関連していないと思う:コンソールであなたの例を実行する場合、順序は正しいでしょう。 IDEはスクリプトプロセスの出力を処理し、stdoutとstderrの両方を捕捉する必要がありますが、両方のストリームが傍受された場合には順序を保持することはできません。 関連する議論があります:onetwothreeです。

関連する問題