Verhindern Sie, dass NppExec die Konsolenausgabe abfängt, bis das Programm beendet ist

Verhindern Sie, dass NppExec die Konsolenausgabe abfängt, bis das Programm beendet ist

Ich verwende das NppExec-Plugin von Notepad++, um Python-Skripte innerhalb von Notepad++ auszuführen. Mir fällt auf, dass die mit der print()Anweisung erzeugte Python-Konsolenausgabe erst dann auf der Notepad++-Konsole erscheint, wenn das gesamte Skript ausgeführt wurde. Gibt es eine Möglichkeit, Druckanweisungen in Echtzeit erscheinen zu lassen?

Ich verwende Notepad++ v.5.9.8 und NppExec v0.4.1.

Antwort1

Das Konsolenfenster von NppExec wird als Kindprozess gestartet, d. h. die Aktualisierung der Anzeige des Konsolenfensters sowie die Ausführung des Hauptprogramms erfolgen auf einemeinzelner Thread. Standardmäßig werden Python-Druckanweisungen gepuffert und im selben Thread wie das übergeordnete Skript ausgeführt. Daher muss die Ausgabe inUngepufferter ModusDies geschieht mit der -uFlagge.

Verwenden Sie python -u script.pyanstelle des herkömmlichen python script.py, wie in diesem zu sehen istSO-Frage.

verwandte Informationen