用进度条显示循环体已经运行的百分比

在进行循环处理的时候如果加上进度条显示功能,可以让我们清晰地知道当前循环大概运行到了什么地方。

首先需要下载第三方库 progressbar:pip3 install progressbar
然后在开头导入这个库:import progressbar

使用的时候先在循环体前面加上代码:

total = 100  # total为需要循环的次数
widgets = ['Progress: ', progressbar.Percentage(), ' ', progressbar.Bar('>'), ' ', progressbar.Timer(), ' ', progressbar.ETA()]
pbar = progressbar.ProgressBar(widgets = widgets, maxval = total).start() 

widgets 为可选参数,其中各参数的含义分别是:
* ‘Progress:’ 设置进度条前显示的文字
* progressbar.Percentage() 显示百分比
* progressbar.Bar(‘>’) 设置进度条显示的形状
* progressbar.Timer() 显示已用时间
* progressbar.ETA() 显示预计剩余时间

然后在循环体内第一句加上pbar.update(i + 1),其中 i 为循环变量

完整代码如图:

import progressbar
import time

def dosomething():
    time.sleep(0.1)
	
total = 100
widgets = ['Progress: ', progressbar.Percentage(), ' ', progressbar.Bar('>'), ' ', progressbar.Timer(), ' ', progressbar.ETA()]
pbar = progressbar.ProgressBar(widgets = widgets, maxval = total).start() 

for i in range(total):
    pbar.update(i + 1)
    dosomething()

运行效果如图:
用进度条显示循环体已经运行的百分比

也可以不加 widgets 参数:pbar = progressbar.ProgressBar(maxval = total).start()
运行效果如图:
用进度条显示循环体已经运行的百分比