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

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

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

私はNotepad++ v.5.9.8とNppExec v0.4.1を使用しています。

答え1

NppExecのコンソールウィンドウは子プロセスとして起動されるため、コンソールウィンドウの表示の更新やメインプログラムの実行は、シングルスレッドデフォルトでは、Pythonのprint文の出力はバッファリングされ、親スクリプトと同じスレッドで実行されるため、出力は次のように表示されなければなりません。バッファなしモードこれはフラグを使用して行われます-u

この図からわかるように、python -u script.py従来の の代わりにを使用します。python script.py質問です

関連情報