Vilibb
@Vilibb
Пытаюсь изучить какой-либо ЯП.

Возможен ли перехват вывода командной строки в реальном времени?

Добрый день, ос - windows 7.
Пишу простую программу для себя, в которой через командную строку(через модуль subprocess) запускается архиватор(winrar), извлекает файлы и закрывается. Винрар передаёт в консоль прогресс извлечения, могу ли я его перехватить в реальном времени и привязать к переменной?
  • Вопрос задан
  • 1373 просмотра
Решения вопроса 2
@Andy_U
Это решение намного красивее. Естественно, некоторая доработка напильником класса SubprocessProtocol потребуется. Я недавно проверял - работает, причем можно одновременно перехватывать и stdout, и stderr.

P.S. На всякий случай - параметр data в pipe_data_received - это байты, поэтому его и нужно декодировать в utf-8 строку. Если под Windows и есть русские имена файлов - придется разобраться, какую кодировку использует rar. Скорее всего - cp866.
Ответ написан
Комментировать
@766dt
Первые две ссылки в гугле:
blog.endpoint.com/2015/01/getting-realtime-output-...
stackoverflow.com/questions/803265/getting-realtim...

Только насчет "привязать к переменной" я не понял, о чем это, если честно
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Damir00109
Здраствуйте ваш матерьял уже не работает но мне нужно то же самое решение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы