Анимация «Ожидание» в командной строке (Python) - PullRequest
11 голосов
/ 12 августа 2011

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

Ответы [ 2 ]

20 голосов
/ 12 августа 2011

Использовать \r и печатать без перевода строки (то есть суффикс с запятой):

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")
0 голосов
/ 12 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...