Grundsätzlich möchte ich das Gegenteil von dem tun, was dieser Typ getan hat ... hehe.
Ich habe ein Programm, das mir sagt, wie weit es ist.
for i in some_list:
#do a bunch of stuff.
print i/len(some_list)*100," percent complete"
Wenn also len (some_list) 50 wäre, würde ich diese letzte Zeile 50 Mal drucken lassen. Ich möchte eine Zeile drucken und diese Zeile ständig aktualisieren. Ich weiß, ich weiß, dass dies wahrscheinlich die lahmste Frage ist, die Sie den ganzen Tag lesen werden. Ich kann einfach nicht herausfinden, welche vier Wörter ich in Google eingeben muss, um die Antwort zu erhalten.
Aktualisieren! Ich habe den Vorschlag von mvds ausprobiert, der richtig schien. Der neue Code
print percent_complete," \r",
Prozent vollständig ist nur eine Zeichenfolge (ich habe das erste Mal abstrahiert, jetzt habe ich versucht, wörtlich zu sein). Das Ergebnis ist nun, dass es das Programm ausführt, nichts druckt, bis das Programm beendet ist, und dann "100 Prozent vollständig" in einer und nur einer Zeile druckt.
Ohne den Wagenrücklauf (aber mit dem Komma, der Hälfte des Vorschlags von mvds) wird bis zum Ende nichts gedruckt. Und druckt dann:
0 percent complete 2 percent complete 3 percent complete 4 percent complete
Und so weiter. Das neue Problem ist nun, dass das Komma erst gedruckt wird, wenn das Programm beendet ist.
Mit dem Wagenrücklauf und ohne Komma verhält es sich genauso wie mit keinem.
sys.stdout.isatty()
, ob Sie diese Dinge nicht ausspucken, wenn Sie nicht in einem Terminal ausgeführt werden.