Вместо того чтобы ждать завершения команды, можно запустить её через
subprocess.Popen и читать stdout построчно.Так удобно следить за:
- долгими скриптами
- серверами
- сборками
- тестами
- CLI-утилитами
- фоновой обработкой данных
Пример на картинке запускает HTTP-сервер и сразу печатает его вывод:
subprocess.Popen(...) стартует процесс stdout=subprocess.PIPE забирает поток вывода iter(proc.stdout.readline, b'') читает строки, пока процесс жив Полезный паттерн, когда нужно не просто запустить команду, а видеть, что с ней происходит прямо сейчас.
