Я хочу запустить программу, для которой требуется несколько минут. В течение этого времени я хочу прочитать сообщение о ходе выполнения программы (которое выводится на стандартный вывод). Проблема в том, что я не могу найти способ считывать его вывод во время его запуска.
Единственная функция, которую я нашел для считывания вывода программы, - это Popen.communicate()
, но этот метод ждет, пока процесс не завершится. Таким образом, невозможно добиться прогресса и сделать его видимым для пользователя специальным форматированным способом.
Можно ли сделать это по-другому?
Когда я запускаю процесс с помощью subprocess.popen
с помощью моего script, я вижу вывод программы на экране. Можно ли скрыть это? (Ubuntu 10.10, обычный терминал)