时间:2022-05-02 10:39:59 | 栏目:Python代码 | 点击:次
今天和大家分享一个进度条可视化库,它的名字叫做 tqdm ,可以帮助我们监测程序运行的进度,用户只需要封装可迭代对象即可。
通过命令行直接安装。
pip install tqdm
也可以使用豆瓣镜像安装。
pip install -i https://pypi.douban.com/simple tqdm
执行上述命令后,可以检查一下是否安装成功。
pip show tqdm
以下演示运行环境:jupyter notebook
不同运行环境使用方式稍有不同,可根据警告自行调整。
tqdm 主要参数可选参数众多,我们先看一下常用的一些参数。
主要参数:
直接将列表传入 tqdm()。
from tqdm.notebook import tqdm from time import sleep for char in tqdm(['C', 'Python', 'Java', 'C++']): sleep(0.25)
使用可迭代对象。
for i in tqdm(range(100)): sleep(0.05)
tqdm 提供了 trange() 方法可以代替 tqdm(range())。
from tqdm.notebook import trange for i in trange(100): sleep(0.05)
我们在进度条前面添加描述性内容,这里把 tqdm 写在循环外,使用 set_description() 在进度条前面添加 “进度 %d”。
pbar = tqdm(range(5)) for char in pbar: pbar.set_description("进度 %d" %char) sleep(1)
我们可以设置进度条的更新的间隔,下面我们设置总数为 total=100,然后分四次,使得进度条按 10%,20%,30%,40%的间隔来更新。
with tqdm(total=100) as pbar: for i in range(1, 5): sleep(1) # 更新进度 pbar.update(10*i)
更改进度条颜色。
with tqdm(total=100, colour='pink') as pbar: for i in range(1, 5): sleep(1) # 更新进度 pbar.update(10*i)
注:在使用 tqdm 显示进度条的时候,如果想要输出内容的话不能够使用 print ,print 会导致输出多行进度条,可以使用 tqdm.write()。
for i in tqdm(range(5)): tqdm.write("come on") sleep(0.1)
对于多重循环可以指定多个进度条,设置 leave=False 第二个循环执行完后,进度条不保存。
for i in trange(3, desc='1st loop'): for i in trange(100, desc='2nd loop', leave=False): sleep(0.01)