前言
有时候在使用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):
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
with tqdm(total=100) as bar:
for i in range(100):
time.sleep(0.1)
bar.update(1)
 
参考:link link
|