运行工具:Pycharm,
import time
scale = 50
print("开始执行".center(scale//2,"-"))
start = time.perf_counter() # 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。
# 当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
for i in range(scale+1):
a = '*' * i
b = '-' * (scale-i)
c = (i/scale)*100
dur = time.perf_counter() - start # 计时,计算进度条走到某一百分比的用时
print("
{:^3.0f}%[{}>{}]{:.2f}s".format(c,a,b,dur),end='')
#
用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;
# {:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;{},
# ^, <, > 分别是居中、左对齐、右对齐,后面带宽度,: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
# {:.2f},输出有两位小数的浮点数,对应输出的数为dur;
# end='',用来保证不换行,不加这句默认换行。
time.sleep(0.3) # 在输出下一个百分之几的进度前,停止时长
print("
"+"执行结束".center(scale//2,'-'))