• 3分钟搞懂Python第三方库-tqdm使用


    tqdm(全称“tqdm: A Fast, Extensible Progress Bar for Python and CLI”,意为“快速、可扩展的Python和CLI进度条”)是一个用于快速添加进度条的Python库。它非常轻量级,易于使用,并且支持多种迭代环境。

    主要特点

    1. 快速:对代码的运行效率影响极小。
    2. 灵活:支持多种迭代环境,如列表、文件、生成器等。
    3. 可扩展:允许用户自定义进度条的各种属性。
    4. 自动处理:能够智能地根据迭代器的长度来估计进度和剩余时间。

    基本使用

    使用tqdm的基本方式是在你需要添加进度条的迭代器上调用tqdm()函数。

    1. from tqdm import tqdm
    2. import time
    3. from tqdm import tqdm
    4. import time
    5. # 创建一个简单的循环来模拟长时间运行的任务
    6. for i in tqdm(range(100)): # 使用tqdm包装range迭代器
    7. # 在每次循环时,暂停1秒以模拟耗时的操作
    8. time.sleep(1) # 模拟耗时操作
    9. # 输出:
    10. # 0%| | 0/100 [00:00
    11. # ... (进度条会逐步增加)
    12. # 100%|██████████| 100/100 [01:41<00:00, 1.01s/it]

     左边33秒表示已运行时间,右边1:07表示预计运行剩余时间

    参数含义

    tqdm函数接受多个参数来定制进度条的外观和行为:

    • iterable:必需的参数,表示需要添加进度条的迭代器。
    • desc:进度条描述信息,默认为空字符串。
    • total:迭代器的总长度,如果iterableNone或不支持len()函数,则需要手动指定。
    • ncols:进度条的总宽度,默认为80个字符。
    • unit:进度条单位,默认为'it'(表示迭代次数)。
    • unit_scale:根据迭代次数自动调整单位,如True、1000表示达到1000时,单位会从'it'变为'k'。
    • mininterval:进度条更新的最小时间间隔,单位为秒,默认为0.1秒。
    • ascii:如果设置为True,则使用ASCII字符来绘制进度条,默认为False。

    示例

    1. from tqdm import tqdm
    2. import time
    3. # 创建一个进度条,描述为“Loading data”,并设置总长度为100
    4. with tqdm(total=100, desc="Loading data", ncols=100) as pbar:
    5. for i in range(100):
    6. # 模拟耗时操作
    7. time.sleep(0.01)
    8. # 更新进度条
    9. pbar.update(1)
    10. # 使用上下文管理器(with语句)可以确保进度条在完成后正确关闭
    11. # 输出:
    12. # Loading data: 0%| | 0/100 [00:00
    13. # ... (进度条会逐步增加)
    14. # Loading data: 100%|██████████| 100/100 [00:01<00:00, 99.88it/s]

            在这个示例中,我们使用with语句来创建一个进度条上下文,这样可以确保在循环结束后自动关闭进度条。我们还设置了desc参数来自定义进度条的描述信息,并使用了ncols参数来设置进度条的总宽度。在每次循环中,我们使用pbar.update(1)来更新进度条的进度。

  • 相关阅读:
    南阳市卧龙区中医院综合楼施工组织设计及投标报价
    [源码解析] TensorFlow 分布式之 MirroredStrategy
    mysql kudu impala中 多层分组 先统计用户数量 再区间统计和的数量
    HCIE云计算之FusionCloud 6.3部署架构
    【设计模式】原型模式
    文档丢失怎么找回?学会这3个方法就足够!
    最出名的那些日历APP,结果一点都不够好用...
    抖音招聘直播报白:短视频流量红利和精准推送,让招聘更精准
    最全的《高频Java面试题集合》,面试无忧宝典!
    docker命令大全
  • 原文地址:https://blog.csdn.net/m0_71212744/article/details/139844537