Frage

Ich arbeite an einem einfachen GUI Python-Skript einige einfache Aufgaben auf einem System zu tun. Ein Teil dieser Arbeit beinhaltet apt-get install einige Pakete zu installieren.

Während dies vor sich geht, möchte ich einen Fortschrittsbalken angezeigt werden, die mit dem Fortschritt des Downloads aktualisieren sollte, den kleinen Prozentsatz mit in apt-get die Schnittstelle im Terminal angezeigt.

ABER! Ich kann nicht einen Weg, um den Fortschritt Infos. Rohrleitungen oder die Ausgabe Umleitung apt-get gibt nur statische Linien, die die „abgeschlossen download“ Nachricht für jedes Paket zeigen, und gleiche gilt für über subprocess.Popen() in meinem Skript zu lesen.

Wie kann ich lesen von apt-get die Ausgabe der Prozentsätze der Datei heruntergeladen zu bekommen?

War es hilfreich?

Lösung

Wie ich oft gesagt habe, verwenden Sie pexpect , nicht subprocess etc, Teilprozesse ausgeführt werden, wenn Sie ihre Dauerleistung erhalten müssen. pexpect Narren die subprocess zu glauben, es ist auf einem Terminal ausgeführt wird, so dass die subprocess nur die Art der Ausgabe zur Verfügung stellt es auf einem echten Terminal geben würde ... und Sie können es fangen und es in jede Art von Phantasie Ausgang verwandeln Sie wollen! - )

Andere Tipps

Statt den Ausgang des apt-get-Parsing, können Sie python-apt verwenden, um Pakete zu installieren. AFAIK hat es auch Module für den Fortschritt berichten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top