Остановить перехват консольного вывода NppExec до завершения программы.

Остановить перехват консольного вывода NppExec до завершения программы.

Я использую плагин Notepad++ NppExec для выполнения скриптов Python из Notepad++. Я заметил, что вывод консоли Python, созданный с помощью оператора, print()не отображается на консоли Notepad++, пока весь скрипт не будет выполнен. Есть ли способ сделать так, чтобы операторы печати отображались в реальном времени?

Я использую Notepad++ v.5.9.8 и NppExec v0.4.1.

решение1

Консольное окно NppExec запускается как дочерний процесс, что означает, что обновление отображения консольного окна, а также запуск основной программы выполняются наодиночная нить. По умолчанию выходные данные оператора печати Python буферизуются и запускаются в том же потоке, что и родительский скрипт, поэтому выходные данные должны отображаться внебуферизованный режим. Это делается с помощью -uфлага.

Используйте python -u script.pyвместо обычного python script.py, как можно увидеть в этомТАКОЙ вопрос.

Связанный контент