Python中的两种动态进度条的使用

一、tqdm库

        需要安装tqdm

pip install tqdm

        初始化tqdm必须给定总长度,其他的可以通过后续加载。但是为了方便起见,我们最好将标题添加到其中。

pbar = tqdm(total = 60,desc='BarTest') #总长度,标题,说明

        初始化成功bar对象后就可在循环中进行调用,可以通过以下两种语句来实现对进度条的控制

pbar.set_postfix(**{'计数参数 i':i,})    #参数列表
pbar.update(1)                          #步进长度

        完整的实例为:

pbar = tqdm(total = 60,desc='BarTest')      #总长度,标题,说明
for i in range(60):
    pbar.set_postfix(**{'计数参数 i':i,})    #参数列表
    pbar.update(1)                          #步进长度
    time.sleep(0.05)

        效果如图:

BarTest: 100%|██████████████████████████████| 60/60 [00:07<00:00,  7.56it/s, 计数参数 i=59]

二、alive_bar

        alive_bar相较于tqdm拥有更多动效,但是alive_bar需要嵌套在with语句中使用,相较tqdm灵活性较差同样也可以设置参数显示。示例程序如下:

with alive_bar(total=50,title='Download x',bar='circles',spinner='waves') as bar:  
                #总长度、标题、                填充形式、    动画样式
    for i in range(50):
        bar.text('计数参数i={}'.format(i))     #实时参数显示
        bar(1)                                #步进长度
        time.sleep(0.05)
print('计数参数i={}'.format(i+1))              #保持参数

        需要注意的是,alive_bar并不像tqdm一样结束后可以保持参数,需要在程序结束后手动输出参数。

        效果如下:

Download x <●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●> 50/50 [100%] in 3.2s (15.65/s)
计数参数i=50

你可能感兴趣的:(Python,python,开发语言)