VIRTUALS

the virtual labs for the virtuals

0%

爱的魔力转圈圈:仿shell风火轮进度条实现

今天在shell上安装Anaconda的时候,发现安装过程中的「风火轮」进度条很有趣,于是就简单实现了一下:

1
2
3
4
5
6
import time

icon = ['\\', '-', '/']
for m in range(40):
print('\rAll work and no play make Jack a dull boy: {}'.format(icon[m % 3]), end='')
time.sleep(0.25) # -- control the r.p.m

无非就是把print函数的end='\n'换成end=''以便每次打印光标可以回到行首。再就是循环icon列表,制造「动画效果」。
比如你要倒计时10s,每0.25s输出一帧,那么就要输出40帧。每一帧依次选取列表的下标可以用m对列表长度取余。