Hallo,
Wie im Betreff schon beschrieben will ich eine mit print() ausgegebene Zeile bzw ein einzelnes Zeichen wieder löschen, nicht aber das gesamte Terminal (wie mit os.system("clear")). Gibt es dazu eine Möglichkeit? Habe schon herumgegooglet, allerdings nur gefunden, wie man Zeilen und Zeichen in einer Datei löschen kann. Leider.
Intention ist, falls das interessiert ein Countdown.
Es soll zuerst eine 3, dann eine 2 und dann eine 1 an derselben Stelle erscheinen.
Bereits mit print() ausgegebenes Zeichen oder ganze Zeile wieder Löschen
Das macht man mit der speziellen Escape-Sequenz \r. Außerdem muss bei einigen Terminals ein flush erzwungen werden, damit man das Ergebnis korrekt sehen kann. Es geht möglicherweise eleganter, aber ich würd's wohl so machen:
Code: Alles auswählen
import time
def print_countdown(count, delay_seconds=1):
count_range = range(count + 1)
space = len(str(max(count_range))) * ' '
for i in reversed(count_range):
print(i, end='\r', flush=True)
time.sleep(delay_seconds)
print(space, end='\r')
print()