';等待';命令提示符中的动画(Python)

';等待';命令提示符中的动画(Python),python,animation,command,Python,Animation,Command,我有一个Python脚本,需要很长时间才能运行。我非常希望命令行输出有一点“等待”的动画,就像浏览器中AJAX请求的漩涡状圆圈一样。类似于“\”的输出,然后用“|”替换,然后是“/”,然后是“-”,“|”等等,就像文本在循环。我不知道如何替换Python中以前打印的文本。Python的内置包包含用于控制打印到终端屏幕的内容的实用程序。使用\r并在不使用换行符的情况下打印(即,带逗号的后缀): 对于Python 2,使用以下print语法: print animation[idx % len(an

我有一个Python脚本,需要很长时间才能运行。我非常希望命令行输出有一点“等待”的动画,就像浏览器中AJAX请求的漩涡状圆圈一样。类似于“\”的输出,然后用“|”替换,然后是“/”,然后是“-”,“|”等等,就像文本在循环。我不知道如何替换Python中以前打印的文本。

Python的内置包包含用于控制打印到终端屏幕的内容的实用程序。

使用
\r
并在不使用换行符的情况下打印(即,带逗号的后缀):

对于Python 2,使用以下
print
语法:

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

只是另一个漂亮的变种

import time

bar = [
    " [=     ]",
    " [ =    ]",
    " [  =   ]",
    " [   =  ]",
    " [    = ]",
    " [     =]",
    " [    = ]",
    " [   =  ]",
    " [  =   ]",
    " [ =    ]",
]
i = 0

while True:
    print(bar[i % len(bar)], end="\r")
    time.sleep(.2)
    i += 1

一个加载条,如果你正在安装东西,它会很有用

animation = [
"[        ]",
"[=       ]",
"[===     ]",
"[====    ]",
"[=====   ]",
"[======  ]",
"[======= ]",
"[========]",
"[ =======]",
"[  ======]",
"[   =====]",
"[    ====]",
"[     ===]",
"[      ==]",
"[       =]",
"[        ]",
"[        ]"
]

notcomplete = True

i = 0

while notcomplete:
    print(animation[i % len(animation)], end='\r')
    time.sleep(.1)
    i += 1
如果你想让它持续几秒钟

if i == 17*10:
    break
之后

i += 1

非常适合我(当将“thing\u not\u complete()”更改为“True”时),非常棒的小动画!是预烘焙的东西。在Python3的打印行中会有什么变化?@ProgSnob修改了答案。
i += 1