Python开发中tqdm进度条工具的基本用法与安装指南

在 Python 开发过程中,我们时常需要借助进度条来呈现任务的进展情况到何种程度。尤其在机器学习以及深度学习的框架当中,tqdm 包属于一种极为简便却功能强劲的进度条处理工具。让我们一同来了解一下它的一些基本使用方法吧!

Python开发中tqdm进度条工具的基本用法与安装指南

一、tqdm的安装与导入

1.1 安装

pip install tqdm

1.2 导入

from tqdm import tqdm

后面的这个 tqdm 属于一个类。前面的 tqdm 是一个包,并且这个包中还包含其他的方法和类。

二、tqdm的定义速览

因为 tqdm 本质上属于一个类,所以我们来查看这一个类的构造函数。同时,这个类中还包含着很多其他的方法,不过由于方法数量较多,这里就不一一写出来了。

class tqdm(Comparable):
初始化自身时,如果有可迭代对象 iterable 则使用它,若有描述 desc 则使用它,若有总数 total 则使用它,若 leave 为 True 则保持,否则不保持。
file 为 None,ncols 为 None,mininterval 是 0.1,maxinterval 是 10.0。
miniters 为 None,ascii 为 None,disable 为 False,单位为“it”
unit_scale 为 False,dynamic_ncols 为 False,平滑度为 0.3。
bar_format 为 None,初始值为 0,位置不确定,后缀也为 None。
unit_divisor 为 1000,write_bytes 为 None,gui 为 False,并且还有其他的参数 kwargs 。

因为 tqdm 有很多日常的使用情况,只需设置构造函数即可。构造函数里面的参数比较多,我会逐个进行说明。

构造函数参数:
 
iterable : iterable, optional
第一个参数是一个能够进行迭代的对象,像迭代器呀,或者是生成器啦,又或者是列表之类的,这样就能实现可迭代的进度条啦。
desc : str, optional
    字符串,用于进度条的前缀描述
total : int, optional
预期的迭代数目,默认值是 None 。通常情况下,我们习惯通过 len(iterable) 来实现。
leave : bool, optional
保留进度条存在的痕迹,意思就是会将进度条的最终形态保留住,并且默认其为 True 。
file 可以是 io.TextIOWrapper 或者 io.StringIO ,这是可选的。
    指定消息的输出,默认是sys.stderr
ncols : int, optional
输出消息的整个宽度。若有指定,动态调整的进度会停留在此边界。若未指定,会尝试使用环境的宽度。若为 0,则不会打印任何东西,仅进行统计。
mininterval : float, optional
最小进度更新间隔是以秒为单位的,其默认值为 0.1 秒,这意味着每 0.1 秒就会更新一下进度。
maxinterval : float, optional
    最大进度更新间隔,以秒为单位(默认值:10)。
miniters : int, optional
    0.最小进度更新周期
ascii : bool, optional
    如果不设置,默认为unicode编码
disable : bool, optional
是否禁用整个进度条包装,若为 True 则进度条不显示,默认为 False,也就是显示进度条
等等,参数很多,可以参考官方文档
返回值Returns
    out : decorated iterator.
    返回为一个被包装之后的迭代器

三、tqdm的一些简单的例子

3.1 实例一

pbar 等于 tqdm,tqdm 中的元素为["a", "b", "c", "d"]
for char in pbar:
pbar 会设置描述为“Now Processing %s”,这里的这个方法等同于给 tqdm 类的构造函数添加一个 desc 参数,并且这个参数的值为“Now Processing %s”,其中的 %s 会被 char 所替代
    time.sleep(0.2)

需要注意两个问题:

每个任务的耗时是不同的。tqdm 默认的进度更新时间是 0.1 秒更新一次进度。所以上面的运行结果可能跟想象的有点不一样。这里就不展示了。可以自己运行看一下效果。

tqdm 包装之后,返回的是一个新的迭代器。需要注意的是,迭代的每一个元素其实还是原来迭代器中的元素,即上面的 char 元素还是 a、b、c、d 这四个元素。

3.2 实例二

from tqdm import tqdm,trange
对于 i 在 trange(100)中:# trange(i)与 tqdm(range(i))完全等价:
    time.sleep(0.01)

trange(i)完全等价于tqdm(range(i)):

3.3 实例三

from tqdm import tqdm,trange
import time
在 trange(4,desc="循环 1")中进行循环,循环的次数为 4 次。
在 trange(100,desc="循环 2")的循环中,对于 j 进行操作。
        time.sleep(0.01)

tqdm还支持多层嵌套。

3.4 拓展

tqdm 具有诸多功能,它支持手动更新进度,能够在进度更新到特定百分比后暂停进度,还可以作为脚本来运行等。因此,这里就不逐一进行展示了,只要明白 tqdm 常见的用法即可。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读