Я работаю над простым графическим интерфейсом графического интерфейса Python для выполнения простых задач в системе. Некоторые из этих работ включают в себя apt-get install
для установки некоторых пакетов.Анализ вывода apt-get install для индикатора выполнения
Пока это происходит, я хочу отобразить индикатор выполнения, который должен обновляться с ходом загрузки, используя небольшой процент, показанный в интерфейсе apt-get в терминале.
НО! Я не могу найти способ получить информацию о ходе работы. Трубопровод или перенаправление вывода apt-get просто дает статические строки, которые показывают сообщение «завершена загрузка» для каждого пакета, а также для чтения через subprocess.Popen()
в моем скрипте.
Как я могу прочитать из вывода apt-get, чтобы получить проценты загруженного файла?
Любые шансы, что это может работать и на моем C-порту, используя posix popen()? Или есть аналогичный метод? –
'popen' позволит субпроцессу знать, что его вывод - это труба, поэтому вам, вероятно, не повезло, кроме как с командами, которые достаточно хороши, чтобы вы могли спросить их о« полном небуферизованном выводе в реальном времени в любом случае PLS! ». и я не думаю, что apt-get находится в этой элитной группе. Чтобы реализовать «поддельный терминал» в C под Linux, начните с man-страницы pty (7), например. на http://linux.die.net/man/7/pty - и, удачи (много работы будет необходимо!). –