【Python中tqdm()函数打印进度条】

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)

猜你喜欢

转载自blog.csdn.net/zhiqingAI/article/details/126261187