Как устранить задержку вывода сообщений на косоль из python скрипта?

Запускаю python скрипт из .net приложения так, как это делается в windows cmd. Перехватываю консольные сообщения скрипта. Все получается. Проблема в том, что сообщения приходят с огромной задержкой. Например, если скрипт выводит 10 строк, нет шансов перехватить их во время возникновения. Получаю их все вместе после завершения работы скрипта. Но если скрипт выводит 1000 (мнного) строк, они перехватываются большими порциями (50-60). Очень похоже на работу внутреннего буфера консольного вывода в python. Кто нить знает как этим можно управлять. Мне нужен немедленный (или быстрый) перехват сообщений. Спасибо.


Ответы (1 шт):

Автор решения: nomnoms12
  • В самом скрипте можно использовать аргумент flush функции print:
    print(..., flush=True)
    
  • Запуская из консоли/терминала можно использовать аргумент -u
  • Можно установить переменную окружения PYTHONUNBUFFERED
→ Ссылка