python进度条 tqdm使用教程

article/2025/9/21 6:56:41

文章目录

  • 安装tqdm
  • 在循环中显示进度条
    • 1. 使用`tqdm.tqdm()`实现进度条
    • 2. `tqdm()`主要参数默认值与解释
    • 3. `tqdm()`的返回值
    • 4. `tqdm.trange()`
    • 5. 循环过程中输出额外内容
    • 6. 无法获取迭代器长度的坑
  • *其他方法实现进度条

安装tqdm

tqdm是一个显示进度条的python工具包。安装命令如下

conda install tqdm

pip install tqdm

在循环中显示进度条

from tqdm import tqdm, trange

1. 使用tqdm.tqdm()实现进度条

示例:

for i in tqdm(range(20), desc='It\'s a test'):time.sleep(0.1)

在这里插入图片描述

2. tqdm()主要参数默认值与解释

iterable=None,可迭代对象。如上一节中的range(20)
desc=None,传入str类型,作为进度条标题。如上一节中的desc='It\'s a test'
total=None,预期的迭代次数。一般不填,默认为iterable的长度。
leave=True,迭代结束时,是否保留最终的进度条。默认保留。
file=None,输出指向位置,默认是终端,一般不需要设置。
ncols=None,可以自定义进度条的总长度
unit,描述处理项目的文字,默认’it’,即100it/s;处理照片设置为’img’,则为100img/s
postfix,以字典形式传入详细信息,将显示在进度条中。例如postfix={'value': 520}
unit_scale,自动根据国际标准进行项目处理速度单位的换算,例如100000it/s换算为100kit/s

3. tqdm()的返回值

tqdm()的返回值是一个可迭代对象,迭代的每一个元素就是iterable的每一个参数。该返回值可以修改进度条信息。示例

with tqdm(range(100), desc='Test') as tbar:for i in tbar:tbar.set_postfix(loss=i/100, x=i)tbar.update()  # 默认参数n=1,每update一次,进度+ntime.sleep(0.2)

在这里插入图片描述

4. tqdm.trange()

该函数实际上是封装了一下tqdm()。源代码为

def trange(*args, **kwargs):"""A shortcut for tqdm(xrange(*args), **kwargs).On Python3+ range is used instead of xrange."""return tqdm(_range(*args), **kwargs)

显然,trange()的第一个参数为可迭代对象的长度,其余参数与tqdm()一致。
示例

for i in trange(100, desc='Test1'):time.sleep(0.2)

with trange(100, desc='Test2') as tbar:for i in range(100):tbar.set_postfix(loss=i/100, x=i)tbar.update()time.sleep(0.2)

5. 循环过程中输出额外内容

在循环进行中,你可能想要输出一些内容,但是直接使用print输出会导致进度条出现多行。

解决方法有两种

  1. 参考【3. tqdm()的返回值】示例中的tbar.set_postfix方法,将内容直接显示在进度条尾部。
  2. 使用tqdm.write('你要显示的内容。')方法;若使用pycharm的Run窗口运行,该方法仍无效或存在格式问题,可能是pycharm的bug,此时请使用方法1或改用终端(Terminal)运行代码。
for i in tqdm(range(5), desc='Test'):tqdm.write('当前i={}'.format(i))time.sleep(0.5)

在这里插入图片描述

6. 无法获取迭代器长度的坑

有些迭代器是只能迭代一次的(如zip()),甚至连len()方法都没有,即tqdm就无法得知它的总长度,从而导致进度条显示不出来(如下图)
在这里插入图片描述
解决方法:你必须指定total参数,如下

x = range(20)
y = range(20)
data = zip(x, y)
for i in tqdm(data, desc='Test', total=len(x)):time.sleep(0.1)

*其他方法实现进度条

def process_bar(current, total, prefix='', auto_rm=True):bar = '=' * int(current / total * 50)bar = f' {prefix} |{bar.ljust(50)}| ({current}/{total}) {current / total:.1%} | 'print(bar, end='\r', flush=True)if auto_rm and current == total:print(end=('\r' + ' ' * len(bar) + '\r'), flush=True)for i in range(0, 100):time.sleep(0.1)process_bar(i+1, 100, '首部信息', auto_rm=False)print('进度条演示')

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/TIC8mrNL.shtml

相关文章

DMQ简介

DMQ简y介 DMQ简介 - Water2Wine - 博客园 原文 1. DMQ简介 Distributed Message Queue(分布式消息队列),DMQ 是在kafka之上做了一层封装,为AC的其他组件提供分布式消息队列服务。简单来说,DMQ就是一个消息中间件&a…

tqdm介绍

tqdm是一个进度条可视化库,可以帮助我们监测程序运行的进度,估计运行的时长,甚至可以协助debug。它是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代…

python进度条神器之tqdm包的使用

前言:在Python开发中,我们经常需要使用进度条来展示任务进行的进度到哪里了,特别是在机器学习与深度学习框架里面,tqdm包是一个非常简单但是功能强大的进度条处理工具,一起来看看它的一些基本用法吧! 一、…

Python中tqdm模块介绍

tqdm模块简单介绍 tqdm是一个可以显示Python进度条的模块,可通过pip在终端安装 pip install tqdm可通过 import tqdm 导入,也可通过 from tqdm import 【函数名】 导入 1. tqdm.tqdm 传入数字list: from tqdm import tqdm for i in tqdm(range(1, 5)…

Python进度条tqdm详细介绍

前言 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。 tq…

【python第三方库】tqdm简介

转载自: https://blog.csdn.net/wxd1233/article/details/118371404 仅作学习记录,侵删~ 文章目录 介绍安装使用方法1.传入可迭代对象使用trange 2.为进度条设置描述3.手动控制进度4.tqdm的write方法5.手动设置处理的进度6.自定义进度条显示信息 在深度学…

【tqdm】进度条工具

tqdm 是一种呈现循环进度的工具包,本文讲讲述他的常用用法。 Example 1 假设FL框架中一共有10个用户,每次随机抽取5个用户进行更新,一共训练6个epochs,结合tqdm显示训练进程的代码框架如下: for epoch in range(6):…

tqdm模块

首先给大家看看tqdm源码中的一段注释: 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. 如果翻译过来: tqdm是…

python库tqdm是什么以及怎么用tqdm、trange和tqdm.notebook

1.是什么? 答案:用来显示进度条以及展示每一轮(iteration)所耗费的时间。好抽象,我们重点看怎么用,从而明白是什么。 2.怎么用? 自行安装,如果是anaconda的话这个是默认已经安装了的。从而导入…

Py之tqdm:tqdm库的简介、安装、使用方法详细攻略

Py之tqdm:tqdm库的简介、安装、使用方法详细攻略 目录 tqdm库的简介 tqdm库的安装 tqdm库的使用方法 tqdm库的简介 显示循环的进度条的库。taqadum, تقدّم)在阿拉伯语中的意思是进展。tqdm可以在长循环中添加一个进度提示信息,用户只…

tqdm安装

环境:win10 Python3.6 首先,直接使用pip安装:pip install tqdm ,成功安装,但是导入不了tqdm进行使用。 import tqdm from tqdm import tqdm Traceback (most recent call last):File "D:\Anaconda3\lib\site-…

【PyTorch总结】tqdm的使用

文章目录 介绍安装使用方法1.传入可迭代对象使用trange2.为进度条设置描述3.手动控制进度4.tqdm的write方法5.手动设置处理的进度6.自定义进度条显示信息 在深度学习中如何使用 介绍 Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息。用户只需…

Python的Tqdm模块——进度条配置

tqdm官网地址:https://pypi.org/project/tqdm/ Github地址:https://github.com/tqdm/tqdm 简介 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqd…

tqdm 简介及正确的打开方式

tqdm 简介及正确的打开方式 查遍了网上资料,发现绝大中文的讲解全都是一手带过,还称详细,真是醉了,于是有该文,也算给自己做个笔记 1. 什么是tqdm? tqdm是一个快速的,易扩展的进度条提示模块&a…

tqdm库

tqdm库 文章目录 tqdm库如何安装如何使用1.基于迭代的进度条2.手动设置进度条 如何在Pandas中使用进度条如何在keras中使用进度条如何使用Notebook优化的进度条和层级进度条如何为文件存储设置进度条 简要介绍: tqdm是一个进度条可视化库,可以帮助我们监…

tqdm的使用和例子

1. tqdm的介绍 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。 tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且…

一个被忽视的Python神器 - Tqdm

1. 什么是Tqdm 在日常工作和学习中,经常需要观察当前任务的执行进度,尤其是一个执行时间很长的任务,如果能够有进度条实时的显示当前的任务进度,那么将非常方便。 Tqdm 是一个快速,可扩展的Python进度条,…

tqdm 详解

文章目录 1. 简介2. 使用方法3. 实例 - 手写数字识别 1. 简介 tqdm是 Python 进度条库,可以在 Python长循环中添加一个进度提示信息。用户只需要封装任意的迭代器,是一个快速、扩展性强的进度条工具库。 2. 使用方法 传入可迭代对象 import time from…

idea方法注释的快捷键设置idea自定义注释设置

作者: yibox_qcby目录 效果展示配置步骤第一步第二步第三步第四步第五步第六步 完成 效果展示 配置步骤 第一步 第二步 第三步 第四步 注意第一行不是/** *** ClassName $className$* Description : 功能说明* $params$* Return : $return$* Author : 作者* Date : $DATE$ $…

idea中使用注释快捷键的问题及解决办法

问题描述 在idea中,使用注释快捷键会产生在注释前面会有缩进,这种缩进对于有着强迫症的我简直受不了 在按照网上其他的教程进行相关设置之后还是出现这样的问题 解决方法 我在使用中偶然发现idea注释的快捷键除了行注释(Ctrl/&#xff…