python进度条模块tqdm的用法

我们经常看到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

微信截图_20220714104629.png

任何可迭代的对象都可以使用上述方法来设置可视化的进度,上述代码可以直接使用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")

微信截图_20220714105812.png

设置右边的信息

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)

微信截图_20220714111256.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/857.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。