当前位置 博文首页 > Python进度条tqdm的用法详解

    Python进度条tqdm的用法详解

    作者:ZSYL 时间:2021-09-19 18:29

    前言

    有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。

    tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示。

    大家先看看tqdm的进度条效果:

    在这里插入图片描述

    tqdm安装:

    pip install tqdm

    1. 用tqdm子模块

    对于可以迭代的对象都可以使用下面这种方式,来实现可视化进度,非常方便

    from tqdm import tqdm
    import time
    
    for i in tqdm(range(100)):
        time.sleep(0.1)
        pass

    在这里插入图片描述

    from tqdm import tqdm
    import time
     
    for i in tqdm(range(50)):
        time.sleep(0.1)
        pass

    在这里插入图片描述

    带参数

    from tqdm import tqdm
    import time
    d = {'loss':0.2,'learn':0.8}
    for i in tqdm(range(50),desc='进行中',ncols=10,postfix=d): #desc设置名称,ncols设置进度条长度.postfix以字典形式传入详细信息
        time.sleep(0.1)
        pass

    在这里插入图片描述

    观察处理的数据

    通过tqdm提供的set_description方法可以实时查看每次处理的数据

    from tqdm import tqdm
    import time
    
    pbar = tqdm(["a","b","c","d"])
    for c in pbar:
        time.sleep(1)
        pbar.set_description("Processing %s"%c)

    在这里插入图片描述

    2. 用trange子模块,效果和用tqdm子模块一样

    代码如下:

    from tqdm import trange
    import time
    for i in trange(100):
        time.sleep(0.1)
        pass

    在这里插入图片描述

    3. 手动设置处理进度

    from tqdm import tqdm
    import time
    #total参数设置进度条的总长度
    with tqdm(total=100) as bar: # total表示预期的迭代次数
        for i in range(100): # 同上total值
            time.sleep(0.1)
            bar.update(1)  #每次更新进度条的长度

    在这里插入图片描述
    在这里插入图片描述

    参考:link   link

    jsjbwy
    下一篇:没有了