Python进度条tqdm的用法详解

avatar 2021年12月4日10:20:07 评论 44

前言

有时候在使用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. 手动设置处理进度

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

参考link   link

文章来源于互联网:Python进度条tqdm的用法详解

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: