El módulo tqdm es una biblioteca de barras de progreso de Python, que se divide principalmente en dos modos operativos
Ejecutar en un objeto iterable: tqdm(iterator)
importtimefromtqdmimporttqdm,trange#trange(i)是tqdm(range(i))的一种简单写法foriintrange(100):time.sleep(0.05)foriintqdm(range(100),desc='Processing'):time.sleep(0.05)dic=['a','b','c','d','e']pbar=tqdm(dic)foriinpbar:pbar.set_description('Processing '+i)time.sleep(0.2)100%|██████████|100/100[00:06<00:00,16.04it/s]Processing:100%|██████████|100/100[00:06<00:00,16.05it/s]Processinge:100%|██████████|5/5[00:01<00:00,4.69it/s]
Actualizar manualmente
importtimefromtqdmimporttqdmwithtqdm(total=200)aspbar:pbar.set_description('Processing:')# total表示总的项目, 循环的次数20*10(每次更新数目) = 200(total)foriinrange(20):# 进行动作, 这里是过0.1stime.sleep(0.1)# 进行进度更新, 这里设置10个pbar.update(10)Processing::100%|██████████|200/200[00:02<00:00,91.94it/s]
descripción del parámetro del módulo tqdm
classtqdm(object):"""
Decorate an iterable object, returning an iterator which acts exactly
like the original iterable, but prints a dynamically updating
progressbar every time a value is requested.
"""def__init__(self,iterable=None,desc=None,total=None,leave=False,file=sys.stderr,ncols=None,mininterval=0.1,maxinterval=10.0,miniters=None,ascii=None,disable=False,unit='it',unit_scale=False,dynamic_ncols=False,smoothing=0.3,nested=False,bar_format=None,initial=0,gui=False):
iterable: objeto iterable, no es necesario configurarlo al actualizar manualmente
desc: Cadena, texto de descripción de la barra de progreso izquierda
total: el número total de artículos
dejar: valor booleano, si se mantiene la barra de progreso después de completar la iteración
archivo: la salida apunta a la ubicación, el valor predeterminado es el terminal y, por lo general, no es necesario configurarlo
ncols: ajuste el ancho de la barra de progreso, el valor predeterminado es ajustar automáticamente la longitud de acuerdo con el entorno, si se establece en 0, no habrá barra de progreso, solo la información de salida
unidad: el texto que describe el elemento de procesamiento, el valor predeterminado es 'it', por ejemplo: 100 it/s, si se establece en 'img' para procesar fotos, es 100 img/s
unit_scale: convierta automáticamente las unidades de velocidad de procesamiento del proyecto de acuerdo con los estándares internacionales, como 100000 it/s >> 100k it/s
El siguiente es un ejemplo de muestra
importtimefromtqdmimporttqdm# 发呆0.5sdefaction():time.sleep(0.5)withtqdm(total=100000,desc='Example',leave=True,ncols=100,unit='B',unit_scale=True)aspbar:foriinrange(10):# 发呆0.5秒action()# 更新发呆进度pbar.update(10000)Example:100%|███████████████████████████████████████████████████|100k/100k[00:05<00:00,19.6kB/s]
¿Puede el tqdm de Python ajustar el color de la barra de progreso?
Se puede ajustar mediante el parámetro bar_format, por ejemplo:
from tqdm import trange
from colorama import Fore
for i in trange(int(1e7), bar_format='{l_bar}%s{bar}%s{r_bar}' % (Fore.BLUE, Fore.RESET)):
pass
Esto hace que la barra de progreso se vuelva azul.