Python 中tqdm()函数打印进度条
tqdm
打印进度条
tqdm包安装:pip install tqdm
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。总之,它是用来显示进度条的,很漂亮,使用很直观(在循环体里边加个tqdm
返回一个迭代器iterable
from tqdm import tqdm
iterator = tqdm(iterable=range(10),
desc=None,
total=None,
leave=True,
ncols=None,
mininterval=0.01,
maxinterval=5.0,
unit='it',
bar_format=None,
position=None,
postfix=None)
- iterable:tdqm数据参数支持的数据类型是可迭代的对象iterable,Python中默认的可迭代对象有:list、str、tuple、dict、file、range等
- desc:str类型,作为进度条说明,在进度条左边
- total:预取的迭代次数
- leave=True:循环结束后是否保留进度提示信息,默认保留
- ncols:进度条长度
- mininterval:进度条最小的更新间隔(秒)
- maxinterval:进度条最大的更新间隔(秒)
- unit=‘it’:单位,默认it每秒迭代数
- postfix:在进度条右边添加字典类型描述信息
- position:指定偏移,这个功能在多个进度条中有用
- bar_format:自定义进度条
Python代码示例
# !/user/bin/env python
# -*- coding:utf-8 -*-
import time
from tqdm import tqdm
from tqdm._tqdm import trange
#for i in tqdm(range(100),desc='Processing'): #desc='Processing'为描述
# time.sleep(0.05)
for i in tqdm(range(100)):
time.sleep(0.01)
#output
100%|██████████| 100/100 [00:01<00:00, 60.27it/s]
dic = ['a','b','c','d','e']
pbar = tqdm(dic)
for i in pbar:
# 通过tqdm提供的set_description方法可以实时查看每次处理的数据
pbar.set_description('Processing %s' % i) #set_description()设置进度条前方信息
pbar.set_postfix(loss=2, mark='xiaoai') #set_postfix()设置进度条后方信息
time.sleep(0.2)
#output
Processing e: 100%|██████████| 5/5 [00:01<00:00, 4.86it/s, loss=2, mark=xiaoai]
# 自定义显示内容
from random import random,randint
from tqdm import tqdm,trange
with trange(100) as t:
for i in t:
# 设置进度条左边显示的信息
t.set_description("GEN % i" % i)
# 设置进度条右边显示的信息
t.set_postfix(loss = random(),gen = randint(1,999),str = 'h',lst = [1,2])
time.sleep(0.1)