python模块——tqdm

tqdm 模块简介

tqdm 是 Python 中一个轻量级、高性能的​​进度条显示库​​,主要用于在循环或耗时任务中实时展示执行进度,提升用户体验和程序可观测性

官方文档:https://tqdm.github.io/

tqdm 使用

安装tqdm依赖包

pip install tqdm

tqdm 参数说明

参数名 含义
iterable 可迭代对象
desc 进度条的前缀描述
total 总进度值
unit 进度单位
bar_format 进度条格式
position 进度条所在的行数,常用于多个并发任务的进度观测
leave 终端是否保留进度条
postfix 进度条的后缀描述

tqdm示例

python 复制代码
import tqdm
from tqdm import trange
import time

def main():
    """
    tqdm参数详解及示例
    """
    # 基本用法
    for i in tqdm.tqdm(range(10), desc="Basic"):
        time.sleep(0.1)

    # 参数说明及示例
    # 1. desc: 进度条描述信息
    for i in trange(10, desc="描述信息"):
        time.sleep(0.1)

    # 2. total: 总迭代次数,如果可迭代对象长度未知,可以手动指定
    for i in tqdm.tqdm(range(10), total=10, desc="指定总迭代次数"):
        time.sleep(0.1)

    # 3. leave: 是否保留进度条在完成后
    for i in tqdm.tqdm(range(10), leave=True, desc="保留进度条"):
        time.sleep(0.1)

    # 4. file: 输出流,默认为sys.stderr
    with open("output.txt", "w") as f:
        for i in tqdm.tqdm(range(10), file=f, desc="写入文件"):
            time.sleep(0.1)

    # 5. ncols: 进度条宽度
    for i in tqdm.tqdm(range(10), ncols=50, desc="自定义宽度"):
        time.sleep(0.1)

    # 6. mininterval: 最小更新间隔(秒)
    for i in tqdm.tqdm(range(10), mininterval=0.5, desc="最小更新间隔"):
        time.sleep(0.1)

    # 7. maxinterval: 最大更新间隔(秒)
    for i in tqdm.tqdm(range(10), maxinterval=1, desc="最大更新间隔"):
        time.sleep(0.1)

    # 8. miniters: 最小更新次数
    for i in tqdm.tqdm(range(10), miniters=2, desc="最小更新次数"):
        time.sleep(0.1)

    # 9. ascii: 是否使用ASCII字符集
    for i in tqdm.tqdm(range(10), ascii=True, desc="ASCII字符集"):
        time.sleep(0.1)

    # 10. disable: 是否禁用进度条
    for i in tqdm.tqdm(range(10), disable=False, desc="启用进度条"):
        time.sleep(0.1)

    # 11. unit: 单位名称
    for i in tqdm.tqdm(range(10), unit="it", unit_scale=True, desc="单位名称"):
        time.sleep(0.1)

    # 14. smoothing: 平滑因子
    for i in tqdm.tqdm(range(10), smoothing=0.3, desc="平滑因子"):
        time.sleep(0.1)

    # 15. bar_format: 自定义进度条格式
    for i in tqdm.tqdm(range(10), bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]', desc="自定义格式"):
        time.sleep(0.1)

    # 16. initial: 初始值
    for i in tqdm.tqdm(range(10), initial=5, total=15, desc="初始值"):
        time.sleep(0.1)

    # 17. position: 进度条位置
    for i in tqdm.tqdm(range(10), position=0, desc="位置0"):
        time.sleep(0.1)
    for i in tqdm.tqdm(range(10), position=1, desc="位置1"):
        time.sleep(0.1)

    # 18. postfix: 后缀信息
    for i in tqdm.tqdm(range(10), postfix="后缀信息", desc="后缀信息"):
        time.sleep(0.1)

	# 19. colour: 颜色
    for i in tqdm.tqdm(range(10), colour="green", desc="颜色"):
        time.sleep(0.1)
相关推荐
Warson_L16 分钟前
Python的OrderedDict
python
隐擎fox24 分钟前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
Warson_L25 分钟前
Python的TypedDict
python·langchain·llm
晓窗科技1 小时前
口碑好的AI基座服务商
大数据·人工智能·python
小灰灰搞电子2 小时前
Python 信号量详解:并发控制实战
python·信号量
新时代牛马2 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
Dxy12393102162 小时前
Python如何结合AI解决数据分析问题
人工智能·python·数据分析
IvanCodes2 小时前
Python 基础语法(七):推导式与常见遍历写法
开发语言·python
zhangzeyuaaa3 小时前
Python requests:raise_for_status() 与 4xx/5xx 异常层次详解
开发语言·python
泡海椒3 小时前
动态代理核心原理:JQuick-Java接口规则自动生成机制解析
java·开发语言·python