Wenn ein Wagenrücklauf an eine Pycharm-Konsole geschrieben wird, wird die gesamte Zeile gelöscht?

Ich habe ein Programm in Python, das das Zeilenvorschubzeichen ausgiebig verwendet, um den Effekt einer aktualisierten Konsolenzeile (insbesondere einer Fortschrittsanzeige) zu erzielen.

Wenn ich versuchte, den Code in PyCharm zu debuggen, stellte ich fest, dass der Fortschrittsbalken erst gedruckt wird, wenn er fertig ist.

ei näherer Betrachtung stellte sich heraus, dass bei einem Wagenrücklauf \r) wird gedruckt, die gesamte Zeile wird gelöscht.

Weil die Bibliothek selbst Strings des Formulars schreibt {line}\r) Bekomme ich immer eine leere Zeile.

Gibt es eine Möglichkeit, dies mit PyCharm zu lösen? Derzeit ersetze ichstdout mit einer Version, die die aktuelle Zeile aufzeichnet und nach Erhalt eines Wagenrücklaufs erneut druckt. Allerdings hätte ich lieber einen einfachen Weg, es zu tun.

Beispielcode

import sys
sys.stdout.write('xxx')
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('\rZZ')
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('yyy\r')
sys.stdout.flush()

time.sleep(1)

print ('===')

Mein Lauf sieht so aus:
1. 'xxx' wird gedruckt
[Nach 1 Sekunde]
2. 'ZZ' wird gedruckt
[Nach 1 Sekunde]
3. Die Zeile wird gelöscht
[Nach 1 Sekunde]
4. '===' wird gedruckt und das Programm beendet sich

Dies geschieht sowohl in der Debug- als auch in der Run-Konsole, wenn dieses Skript ausgeführt wird.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage