Heim >Backend-Entwicklung >Python-Tutorial >Wie überschreibe ich die Konsolenausgabe in derselben Zeile?

Wie überschreibe ich die Konsolenausgabe in derselben Zeile?

Susan Sarandon
Susan SarandonOriginal
2024-12-05 10:01:15792Durchsuche

How to Overwrite Console Output on the Same Line?

So zeigen Sie dynamische Ausgaben in derselben Bildschirmzeile an

Unter bestimmten Umständen ist es wünschenswert, stattdessen die aktuelle Konsolenausgabe durch neue Daten zu ersetzen als es anzuhängen. Ein gängiger Ansatz besteht darin, das Wagenrücklaufzeichen ('r') zu verwenden, um zum Anfang der aktuellen Zeile zurückzukehren:

Einfache Version:

for x in range(10):
    print(x, end='\r')
print()

By Wenn Sie jede Druckanweisung mit „r“ beenden, kehrt der Cursor zum Zeilenanfang zurück, ohne zur nächsten Zeile zu wechseln. Dadurch kann die nachfolgende Druckanweisung die vorherige Ausgabe überschreiben.

Zeilenbereinigung:

Wenn die neue Ausgabe möglicherweise kürzer als die aktuelle Zeile ist, ist ein zusätzlicher Schritt erforderlich So löschen Sie die verbleibenden Zeichen:

for x in range(75):
    print('*' * (75 - x), x, end='\x1b[1K\r')
print()

Die Escape-Sequenz 'x1b[1K' löscht alle Zeichen von der Cursorposition bis zum Ende des Zeile.

Langer Zeilenumbruch:

Bei Ausgaben, die die Zeilenbreite überschreiten, kann der Zeilenumbruch deaktiviert werden, um sicherzustellen, dass aufeinanderfolgende Zeichen einander überschreiben:

# Disable line wrapping
print('\x1b[7l', end='')

# Overwrite output
for x in range(75):
    print('*' * (75 - x), x, end='\r')

# Re-enable line wrapping
print('\x1b[7h', end='')

# Advance to next line
print()

Hinweis: Es ist wichtig, den Zeilenumbruch nach der Deaktivierung wieder zu aktivieren, um Probleme mit zukünftigen Konsolen zu vermeiden Ausgabe.

Das obige ist der detaillierte Inhalt vonWie überschreibe ich die Konsolenausgabe in derselben Zeile?. 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