Печать возврата каретки (\r
) без новой строки сбрасывает курсор к началу строки, делая следующий отпечаток перезаписывая уже напечатанный:
import time
import sys
for i in range(100):
print i,
sys.stdout.flush()
time.sleep(1)
print "\r",
Это не очищает линию, поэтому, если вы попытаетесь, например, напечатать убывающие числа, используя эти методы, вы увидите оставшийся текст из предыдущих отпечатков. Вы можете обойти эту проблему, дополнив свой вывод пробелами, или используя некоторые контрольные коды в других ответах.