Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die vorherige Ausgabe in Python mit der Standardausgabe (Stdout) überschreiben?

Wie kann ich die vorherige Ausgabe in Python mit der Standardausgabe (Stdout) überschreiben?

DDD
DDDOriginal
2024-12-28 20:25:11431Durchsuche

How Can I Overwrite Previous Output to Standard Output (Stdout) in Python?

Vorherige Ausgabe in 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.

Carriage Return (r)

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()

Komma am Ende der Druckanweisung

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

Clear to End of Line (x1b[1K)

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()

Zeilenumbruch deaktivieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn