Как создать вращающийся курсор командной строки? - PullRequest
53 голосов
/ 14 февраля 2011

Есть ли способ напечатать вращающийся курсор в терминале, используя Python?

Ответы [ 12 ]

0 голосов
/ 10 мая 2016
import sys
def DrowWaitCursor(self, counter):
    if counter % 4 == 0:
        print("/",end = "")
    elif counter % 4 == 1:
        print("-",end = "")
    elif counter % 4 == 2:
        print("\\",end = "")
    elif counter % 4 == 3:
        print("|",end = "")
    sys.stdout.flush()
    sys.stdout.write('\b') 

Это может быть и другое решение, использующее функцию с параметром.

0 голосов
/ 14 февраля 2011
#!/usr/bin/env python

import sys

chars = '|/-\\'

for i in xrange(1,1000):
    for c in chars:
        sys.stdout.write(c)
        sys.stdout.write('\b')
        sys.stdout.flush()

ПРЕДОСТЕРЕЖЕНИЯ: По моему опыту, это работает не во всех терминалах. Более надежный способ сделать это в Unix / Linux, будь он более сложным, это использовать модуль curses , который не работает под Windows. Возможно, вы захотите немного замедлить его, как с реальной обработкой, которая происходит в фоновом режиме.

...