尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Python 进度条工具 tqdm
1. 简介在日常运行程序的过程中常常涉及到循环迭代过程对于执行时间很短的程序来说倒无所谓但对于运行过程有明显耗时的涉及循环迭代的程序为其加上进度条(progress bar)是帮助我们监测代码执行进度以及处理中间异常错误非常实用的技巧。图1本文就将为大家介绍Python中非常实用又风格迥异的两个进度条相关库——tqdm与alive-progress的主要用法。2. tqdm常用方法tqdm是Python中所有进度条相关库中最出名的既然是最出名的自然有它独到之处。tqdm不仅可以生成基础的可在终端中显示的进度条还可以配合jupyter notebook和jupyter lab生成更加美观的网页交互部件形式的进度条更是和pandas强强联手为pandas中的一些操作提供专有的进度条功能。下面我们来对tqdm的主要功能进行介绍。2.1. 基础用法因为是第三方库首先需要利用pip install tqdm或conda install -c conda-forge tqdm对其进行安装安装完成后先来看看它最基本的用法图2利用tqdm.tqdm将for循环过程中进行迭代的对象简单包裹就实现了为循环过程添加进度条以及打印执行速度、已运行时间与预估剩余运行时间等实用信息的功能同样也可用于列表推导图3而针对迭代对象是range()的情况tqdm还提供了简化版的trange()来代替tqdm(range())图4其附带的参数desc还可以帮助我们设置进度条的说明文字图5而如果想要在迭代过程中变更说明文字还可以预先实例化进度条对象在需要刷新说明文字的时候执行相应的程序图6但当迭代的对象长度一开始未知时譬如对pandas中的DataFrame.itertuples()进行迭代我们就只能对其执行速度等信息进行估计但无法看到进度条递增情况因为tqdm不清楚迭代的终点如何图72.2. 配合jupyter notebook/jupyter lab的美观进度条tqdm对jupyter notebook和jupyter lab有着特殊的支持且使用方法非常简单只需要将原有的from tqdm import XXX的相应功能导入格式修改为from tqdm.notebook import XXX就可以了以trange为例图82.3. 配合pandas中的applytqdm对pandas中的apply()过程提供了特殊的支持因为pandas中的apply()本质上就是串行循环运算你可以将pandas中的任何apply操作替换为progress_apply并且记住每个单独的progress_apply前要先执行tqdm.pandas()就像下面的例子一样图93. alive-progress常用方法虽然与tqdm一样都是为了给循环过程加上进度条而诞生的库但alive-progress相比tqdm增加了更多花样繁多的动态效果我们通过调用其专门提供的showtime()函数可以查看所有可用的动态进度条样式图10同样类似地可以查看所有进度条样式图11使用起来也是非常简单但与tqdm用法区别很大需要配合with关键词譬如下面我们使用到alive_progress中的alive_bar来生成动态进度条图12通过修改bar参数来改变进度条的样式图134. 显示程序进度from tqdm import tqdm import time pbar tqdm(total200, descI am fine) for i in range(20): pbar.update(10) pbar.set_description(Processing %s % i) time.sleep(1) pbar.close()参考文献数据科学学习手札91在Python中妥善使用进度条 - 费弗里 - 博客园tqdm 简介及正确的打开方式_、Edgar的博客-CSDN博客
RELATED

相关推荐

ChatGPT注释生成效率提升3.8倍的工程化实践(企业级CI/CD集成手册)

ChatGPT注释生成效率提升3.8倍的工程化实践(企业级CI/CD集成手册)

更多请点击: https://intelliparadigm.com 第一章:ChatGPT注释生成效率提升3.8倍的工程化实践(企业级CI/CD集成手册) 在大型微服务架构中,团队实测将ChatGPT驱动的代码注释生成能力嵌入CI流水线后,Java与P…

📅 2026/9/12 21:16:43
std::tuple 类型

std::tuple 类型

1. 元组简介 std::tuple是类似std::pair的模板。每个pair的成员类型都不相同,但每个pair都恰好有两个成员。不同std::tuple类型的成员类型也不相同,但一个std::tuple可以有任意数量的成员。每个确定的std::tuple类型的成员数目是固定的,但一…

📅 2026/9/12 14:36:04
Flink CDC架构深度解析:构建企业级实时数据集成的最佳实践

Flink CDC架构深度解析:构建企业级实时数据集成的最佳实践

Flink CDC架构深度解析:构建企业级实时数据集成的最佳实践 【免费下载链接】flink-cdc Flink CDC is a streaming data integration tool 项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdc Apache Flink CDC作为新一代流式数据集成工具&#x…

📅 2026/9/4 16:34:14
MORE NEWS

更多资讯

📰

simulink的MCU‑电机效率 MAP 在 NEDC 工况仿真方法

目录 一、为什么要做 MCU + 电机效率 MAP 在 NEDC 工况 二、效率 MAP 与 NEDC 映射原理 2.1 典型效率 MAP(简化数学构造) 2.2 NEDC → 电机点 三、关键参数 四、Simulink 建模(手把手) 4.1 Step 1️⃣ —— NEDC 车速剖面 4.2 Step 2️⃣ —— 车速 → 电机 (n_mot …

📰

最终留出样本/样本外测试集-holdout解读

在看报告时经常会碰到如下术语 holdout 5.4%/yr、长窗 skewness 五分组价差 7.5%/8.6%(两宇宙) 这里的holdout指:最终留出样本 / 样本外测试集。 1 holdout举例 在前面一段数据上发现、调参、选窗口、选分组、选中性化方式; 留出…

📰

2026年高教社杯全国大学生数学建模竞赛题目2026CUMCM A题药材的烘干问题 数学建模国赛详细解题

专栏内持续更新ABCDE题思路代码论文,只需订阅一次,无需重读订阅 演示视频: 2026 CUMCM A 题 CSDN 图文专栏 药材的烘干问题 从轴对称传热传质到有限体积求解:四问模型、代码、结果与长视频讲解

📰

关系数据与向量数据联合查询

文章目录每日一句正能量1. 背景与问题2. 环境与数据2.1 客户关系表2.2 文档画像和向量表2.3 客户行为时序表3. 复现过程3.1 只有关系筛选的局限3.2 只有向量检索的风险3.3 复现过滤后置问题4. 方案实施4.1 先定义强约束4.2 关系与向量联合查询4.3 组合 JSONB 标签4.4 使用时序行…

📰

【共创稿事节】DevEco Studio 7.0新特性全面解析与上手指南

文章目录每日一句正能量摘要一、引言:7.0值得升级吗?二、新特性总览2.1 五大升级方向2.2 版本要求三、空间化设计工具升级3.1 3D预览面板3.2 空间属性编辑器四、智能编码增强4.1 AI代码补全4.2 空间模板生成4.3 智能重构五、性能优化5.1 关键指标对比5.2…

📰

向量维度详解,Embedding 模型选型与量化原理

《向量检索与 AI RAG/Agent 落地实战》系列文章总目录 第 01 篇:为什么 AI Agent / RAG 系统需要向量第 02 篇:向量维度详解,Embedding 模型选型与量化原理第 03 篇:向量数据库核心作用(索引原理、关系库区别、企业级…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬