Python 中的 tqdm() 方法

本文介绍了Python库tqdm,用于在循环中显示进度条,包括安装方法、基础用法示例,以及参数的详细说明,展示了其在处理大数据和耗时任务中的实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tqdm(阿拉伯语"taqaddum"的缩写,意为"进展")是Python中一个用于在循环中显示进度条的库。它提供了一种简单而又灵活的方式来监测代码执行的进度,特别是在处理大量数据或耗时较长的任务时非常有用。

1、安装

要使用tqdm库,首先需要安装它。可以使用pip包管理器在命令行中运行以下命令进行安装:

pip install tqdm

 2、示例

安装完成后,就可以在Python脚本中导入tqdm库并使用其中的tqdm函数。以下是使用tqdm库的基本示例:

from tqdm import tqdm
import time

# 创建一个迭代对象
data = range(10)

# 使用tqdm包装迭代对象
for item in tqdm(data):
    # 模拟耗时操作
    time.sleep(0.1)

 在上面的示例中,我们首先从tqdm库中导入tqdm函数,并导入time模块用于模拟耗时操作。然后,我们创建一个包含10个元素的迭代对象data,并使用tqdm函数来包装这个迭代对象。

在循环中,每次迭代时,tqdm函数会自动更新进度条,显示当前的进度和估计的剩余时间。在每次迭代之间,我们使用time.sleep(0.1)函数来模拟一个耗时操作。

3、参数介绍

使用tqdm的优点是它提供了一个简洁而美观的进度条,同时还可以根据需要自定义进度条的样式和显示信息。tqdm库提供了许多参数,用于自定义和调整进度条的外观、格式和行为。以下是一些常用参数的解释:

  • iterable:要迭代的对象,可以是列表、元组、集合等可迭代对象。
  • desc:进度条的描述文本,显示在进度条的左侧。
  • total:迭代对象的总大小,用于计算进度百分比。如果不指定,则进度条将根据迭代对象的长度自动确定。
  • leave:进度条完成后是否保留在输出中。值为True或False。
  • ncols:进度条的宽度(以字符为单位),用于限制进度条的宽度。如果ncols的值为正整数N(N > 0),则进度条的宽度将被限制为N个字符。默认情况下或者ncols的值为0、负数或None,则进度条的宽度将根据终端的宽度自动调整。
  • bar_format:进度条的样式格式字符串。它可以包含特定的占位符,例如"{l_bar}{bar}{r_bar}"表示左边的文本、进度条本身和右边的文本。你可以在占位符中添加自定义的文本或符号来美化进度条。
  • unit:进度条的单位名称,用于显示在进度百分比后面。例如,如果单位为"bytes",则进度条将显示为"10/100 bytes"。
  • unit_divisor:进度条的单位除数,默认为1。可以用于将进度条的单位转换为更适合显示的单位格式。例如,如果单位为"bytes",但实际值是以KB为单位的,你可以将unit_divisor设置为1024,以便显示为"10/100 KB"。
  • color:进度条的颜色,可以是ANSI颜色代码或预定义的颜色名称。ANSI颜色代码如,“\033[31m”表示红色,“\033[32m”表示绿色。tqdm库还提供了一些预定义的颜色名称,包括:black、red、green、yellow、blue、magenta、cyan、white。(如果设置颜色会报错,那可能是终端不支持)
from tqdm import tqdm
import time

data = range(10)
for item in tqdm(data, desc='输出0-9', ncols=100, unit="次循环"):
    # 模拟耗时操作
    time.sleep(0.1)

4、更多

除了基本的用法外,tqdm还提供了其他功能,例如在多线程/多进程环境中使用、显示剩余时间的估计、计时器等。可参考:https://github.com/tqdm/tqdm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我有明珠一颗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值