Анимация "ожидание" в командной строке (Python)

У меня есть скрипт на Python, который занимает много времени для запуска. Я бы очень хотел, чтобы вывод командной строки имел небольшую анимацию "ожидания", похожую на закрученный круг, который мы получаем в браузерах для запросов AJAX. Что-то вроде вывода"", затем это заменяется на"|", затем"/", затем" -", " | " и т. д., Как будто текст идет по кругу. Я не уверен, как заменить предыдущий печатный текст в Python.

2 ответов


использовать \r и print-without-newline (то есть суффикс с запятой):

animation = "|/-\"
idx = 0
while thing_not_complete():
    print animation[idx % len(animation)] + "\r",
    idx += 1
    time.sleep(0.1)

для Python 3 Используйте это print синтаксис:

print(animation[idx % len(animation)], end="\r")

встроенный Python проклятие пакет содержит утилиты для контроля над тем, что печатается на экране терминала.