Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die vorherige Ausgabe in Python mit der Standardausgabe (Stdout) überschreiben?
In vielen Programmierszenarien ist es notwendig, die auf dem Terminal angezeigte Ausgabe zu ändern oder zu aktualisieren. In diesem Artikel werden Methoden zum Überschreiben des vorherigen Ausdrucks in stdout untersucht und durch aktualisierte Werte in derselben Zeile ersetzt.
Python bietet Mit dem Zeichen r (Wagenrücklauf) können Sie den Cursor an den Anfang der aktuellen Zeile zurückbewegen, ohne zur nächsten Zeile zu wechseln. Durch die Verwendung von r können Sie die vorherige Druckanweisung überschreiben:
# Python 3 for x in range(10): print(x, end='\r') print() # Python 2.7 from __future__ import print_function for x in range(10): print(x, end='\r') print()
In Python 2 ein Komma am Das Ende einer print-Anweisung verhindert, dass sie zur nächsten Zeile übergeht, und ermöglicht so Überschreiben:
# Python 2 for x in range(10): print '{0}\r'.format(x), print
Wenn die neue Textzeile kürzer als die vorherige ist, Sie kann x1b[1K (clear to end of line) verwenden, um den Rest zu löschen Zeichen:
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
Standardmäßig umbricht Python Zeilen, die die Terminalbreite überschreiten. Um dies zu verhindern und sicherzustellen, dass aufeinanderfolgende Zeichen die vorherige Zeile überschreiben, deaktivieren Sie den Zeilenumbruch mit x1b[7l:
print('\x1b[7l', end='') # Disable line wrapping for x in range(50): print(x, end='\r') print('\x1b[7h', end='') # Re-enable line wrapping
Hinweis: Aktivieren Sie den Zeilenumbruch nach dem Deaktivieren immer wieder, um ein Verlassen zu vermeiden Das Terminal ist defekt.
Das obige ist der detaillierte Inhalt vonWie kann ich die vorherige Ausgabe in Python mit der Standardausgabe (Stdout) überschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!