Ich versuche, ein Skript auszuführen, das versucht, Module auf einem Centos7-System über Puppet-Management zu installieren. Ich möchte eine Fortschrittsleiste für die Installation implementieren, die beim Ausführen des Skripts passiert. Ich verwende tqdm-Modul, um dies zu tun. dies ist ein Kinderspiel, wie ich das Modul implementiert haben:Python Fortschrittsbalken mit tqdm nicht in einer einzigen Zeile bleiben
from tqdm import tqdm
for i in tqdm(commands):
res = run_apply(i)
Hier run_apply() ist die Funktion, die tatsächlich behandelt laufen und die Puppe Konfiguration anwenden.
Soweit so gut, ich bekomme einen Fortschrittsbalken, aber es bewegt sich weiter die Konsole als und wenn Ausführungsmeldungen auf der Konsole geschrieben werden. Aber ich brauche den Fortschrittsbalken, um am unteren Rand der Konsole konstant zu bleiben und dynamisch aktualisiert zu werden, ohne dass die Laufnachrichten die Leiste stören. Ich möchte, dass die auf die Ausführung bezogenen Meldungen auf der Konsole so weitergehen, wie sie wollen, aber die Fortschrittsanzeige sollte einfach unten bleiben, vom Start bis zum Ende der Ausführung.
Im Folgenden finden Sie, was ich zu sehen bin:
File line: 0.00
Package: 0.05
Service: 0.19
File: 0.23
Exec: 0.23
Last run: 1470308227
Config retrieval: 3.90
Total: 4.60
Version:
Config: 1470308220
Puppet: 3.7.3
now here x
result: 2
38%|█████████████████████████████████████▋ | 5/13 [00:29<00:51, 6.44s/it]about to: profiles::install::download_packages
about to run puppet apply --summarize --detailed-exitcodes --certname puppet -e "include profiles::install::download_packages"
Error: Could not find class profiles::install::download_packages for puppet on node puppet
Error: Could not find class profiles::install::download_packages for puppet on node puppet
now here x
result: 1
46%|█████████████████████████████████████████████▏ | 6/13 [00:32<00:36, 5.27s/it]about to: profiles::install::install
about to run puppet apply --summarize --detailed-exitcodes --certname puppet -e "include profiles::install::install"
Error: Could not find class profiles::install::install for puppet on node puppet
Error: Could not find class profiles::install::install for puppet on node puppet
now here x
result: 1
54%|████████████████████████████████████████████████████▊ | 7/13 [00:34<00:26, 4.45s/it]about to: stx_network
about to run puppet apply --summarize --detailed-exitcodes --certname puppet -e "include stx_network"
Notice: Compiled catalog for puppet in environment production in 0.84 seconds
Notice: /Stage[main]/Stx_network/Tidy[purge unused nics]: Tidying File[/etc/sysconfig/network-scripts/ifcfg-lo]
...
Bitte lassen Sie mich wissen, wie ich erreichen kann, was ich will.
Hier ist der Link dafür: https://pypi.python.org/pypi?%3Aaction=search&term=Progressbar&submit=search –
Dieser unglückliche gewonnen ' t lösen Sie das Problem, da die Nachrichten über den Fortschrittsbalken gedruckt werden und somit die Ausgabe wie in OP verstümmelt wird. – gaborous
Wie .... Sagen Sie mir .... –