web-dev-qa-db-ja.com

プログラムが終了するまで、NppExecがコンソール出力をトラップしないようにします

Notepad ++のNppExecプラグインを使用してPythonスクリプトをNotepad ++内から実行しています。Pythonコンソール出力はprint()ステートメントで生成されますスクリプト全体の実行が完了するまで、Notepad ++コンソールに表示されません。printステートメントをリアルタイムで表示する方法はありますか?

Notepad ++ v.5.9.8とNppExecv0.4.1を使用しています。

4
Abiel

NppExecのコンソールウィンドウは子プロセスとして開始されます。つまり、コンソールウィンドウの表示の更新とメインプログラムの実行は、シングルスレッド。デフォルトでは、Python printステートメントの出力はバッファリングされ、親スクリプトと同じスレッドで実行されるため、出力はバッファリングされていないモードで表示される必要があります。これは、-uフラグを使用して実行されます。

これに見られるように、従来のpython -u script.pyの代わりにpython script.pyを使用してください SO質問

4
prrao