python入门(二)实现进度条控制,并记录时间
效果如图
首先你要理解下面这个式子,{}表示一个槽,在format后面添加上对应的参数即可,默认是对应的,当然也可以自定义顺序
所以上面这张图片的输出将是
C:计算机2018-10-10的CPU占有率为10%:
通过这个式子,我们就可以表现出动图中的百分数,*号和.号,然后通过循环来改变数值
最后是每打印一行,就回退到头部光标,重新打印,这样就像是在动态运行了
另外一个需要理解的是
start=time.perf_counter()
表示计算机开始记录的时间,但是只有这个时间没有任何意义
想想跑50米的时候是怎么算时间的
所以还需要
end=time.perf_counter()
两者做差就可以算出时间了
以下是源代码
import time
scale=100
#表示将字符串居中,用=填充空格,总长度为scale
print("执行开始".center(scale,"="))
start=time.perf_counter()
#这里+1是因为0-100有101个数
for i in range(scale+1):
a='*'*i
b="."*(scale-i)
c=(i/scale)*100
#\r是光标退回行首,end=""防止换行,就可以让后面的输出覆盖前面的
# 左边以3个格子为大小,^表示让百分数居中对齐,整体设置3个槽位{}
print("\r{:^3.0f}%[{}->{}]".format(c,a,b),end="")
time.sleep(0.05)
print()
end=time.perf_counter()
timer=end-start
print("执行结束".center(scale,"="))
print("运行时间为 ",end="")
print(timer)