我们经常看到linux各种程序中的执行进度条,非常直观,python中也有类似模块tqdm
tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示
我们首先进行安装
pip install tqdm
然后上些简单的例子
from tqdm import tqdm import time for i in tqdm(range(100)): time.sleep(0.5) pass
任何可迭代的对象都可以使用上述方法来设置可视化的进度,上述代码可以直接使用trange(100)来取代tqdm(range(100))
trange是tqdm的内置方法,基本和range一致,顺带了进度条
from tqdm import tqdm,trange import time for i in trange(100): time.sleep(0.5) pass
手工设置进度的方法,total设置进度条总长度,然后使用update方法来手工设置更新的长度
from tqdm import tqdm import time with tqdm(total=100) as bar: for i in range(100): time.sleep(0.1) bar.update(1)
自定义设置进度条左边和右边的信息,主要使用了set_description和set_postfix方法
设置左边的信息
from tqdm import tqdm import time bar = tqdm(['a','b','c','d','e','f','g']) for i in barra: time.sleep(0.5) bar.set_description("Proccess")
设置右边的信息
from tqdm import trange from random import random,randint import time with trange(100) as bar: for i in bar: bar.set_postfix(loss=random(),gen=randint(1,999)) time.sleep(0.1)