В python для динамической печати стандартным методом является возврат каретки.
Вот так
sys.stdout.write(f"\r {some_str}")
sys.stdout.flush()
#or
print(f"{some_str}", end="\r", flush=True)
Но если моя предыдущая строка была длиннее текущей, она задерживается.
Например, следующий код -
for i in range(100):
print(f"{10000*(99-i)} text", end='\r', flush=True)
time.sleep(0.03)
заканчивается следующим как окончательный результат
0 texttextt
вместо
0 text
Как заставить программу полностью стереть строку перед следующим вводом?