Python 中的 tqdm() 方法
  DosddciaWHNX 2023年12月08日 24 0


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)

Python 中的 tqdm() 方法_颜色代码

 在上面的示例中,我们首先从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)

Python 中的 tqdm() 方法_迭代_02

4、更多

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
  hfkshH2kj8t9   2023年12月11日   39   0   0 pythonredispythonredis
DosddciaWHNX