版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/winycg/article/details/83958709
使用PyPrind包实现算法的进度条功能
在算法执行过程中,使用PyPrind创建一个进度条对象,可视化算法的执行进度
官方地址:https://github.com/rasbt/pyprind
可以支持多种不同样式的进度条显示。
import pyprind
import time
pbar = pyprind.ProgBar(50) # 表示总共更新50次,所以每次就占2%
for i in range(50):
time.sleep(0.1)
pbar.update()
输出:
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:05
手工可视化进度
为了更好的实现个性化,可以手工编写关于描述进度的代码。
显示进度的百分比情况:
import time
for i in range(101):
time.sleep(0.1)
# 转义字符\r表示将行首,end=''表示输出不换行
print('\r{:2}%'.format(i), end='')
输出:(动态上升的百分比)
34%
带刷新的文本进度条
import time
task = 100
scale = 10
start_time = time.time()
for i in range(1, 100):
time.sleep(0.1)
left = '*' * int((i / scale))
right = '.' * int((task - i) / scale)
ratio = (i/task) * 100
print('\r{:^3.0f}%[{}->{}]{:.2f}s'
.format(ratio, left, right, time.time()-start_time), end='')
输出:
23 %[**->.......]2.32s