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

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

Добрый день, ос - windows 7.
Пишу простую программу для себя, в которой через командную строку(через модуль subprocess) запускается архиватор(winrar), извлекает файлы и закрывается. Винрар передаёт в консоль прогресс извлечения, могу ли я его перехватить в реальном времени и привязать к переменной?
  • Вопрос задан
  • 1369 просмотров
Решения вопроса 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
Здраствуйте ваш матерьял уже не работает но мне нужно то же самое решение
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы