Python进度条工具tqdm

article/2025/10/28 18:32:12

1. 简介

在日常运行程序的过程中常常涉及到循环迭代过程,对于执行时间很短的程序来说倒无所谓,但对于运行过程有明显耗时的涉及循环迭代的程序,为其加上进度条progress bar),是帮助我们监测代码执行进度以及处理中间异常错误非常实用的技巧。

图1

 本文就将为大家介绍Python中非常实用又风格迥异的两个进度条相关库——tqdmalive-progress的主要用法。

2. tqdm常用方法

tqdmPython中所有进度条相关库中最出名的,既然是最出名的,自然有它独到之处。

tqdm不仅可以生成基础的可在终端中显示的进度条,还可以配合jupyter notebookjupyter lab生成更加美观的网页交互部件形式的进度条,更是和pandas强强联手,为pandas中的一些操作提供专有的进度条功能。

下面我们来对tqdm的主要功能进行介绍。

2.1. 基础用法#

因为是第三方库,首先需要利用pip install tqdmconda install -c conda-forge tqdm对其进行安装,安装完成后先来看看它最基本的用法:

图2

利用tqdm.tqdm,将for循环过程中进行迭代的对象简单包裹,就实现了为循环过程添加进度条以及打印执行速度、已运行时间与预估剩余运行时间等实用信息的功能,同样也可用于列表推导

图3

而针对迭代对象是range()的情况,tqdm还提供了简化版的trange()来代替tqdm(range())

图4

其附带的参数desc还可以帮助我们设置进度条的说明文字:

图5

而如果想要在迭代过程中变更说明文字,还可以预先实例化进度条对象,在需要刷新说明文字的时候执行相应的程序:

图6

但当迭代的对象长度一开始未知时,譬如对pandas中的DataFrame.itertuples()进行迭代,我们就只能对其执行速度等信息进行估计,但无法看到进度条递增情况,因为tqdm不清楚迭代的终点如何:

图7

2.2. 配合jupyter notebook/jupyter lab的美观进度条#

tqdmjupyter notebookjupyter lab有着特殊的支持,且使用方法非常简单,只需要将原有的from tqdm import XXX的相应功能导入格式修改为from tqdm.notebook import XXX就可以了,以trange为例:

图8

2.3. 配合pandas中的apply#

tqdmpandas中的apply()过程提供了特殊的支持,因为pandas中的apply()本质上就是串行循环运算,你可以将pandas中的任何apply操作替换为progress_apply,并且记住每个单独的progress_apply前要先执行tqdm.pandas(),就像下面的例子一样:

图9

3. alive-progress常用方法

虽然与tqdm一样都是为了给循环过程加上进度条而诞生的库,但alive-progress相比tqdm增加了更多花样繁多的动态效果,我们通过调用其专门提供的showtime()函数可以查看所有可用的动态进度条样式:

图10

同样类似地可以查看所有进度条样式:

图11

使用起来也是非常简单,但与tqdm用法区别很大,需要配合with关键词,譬如下面我们使用到alive_progress中的alive_bar来生成动态进度条:

图12

通过修改bar参数来改变进度条的样式:

图13

4. 显示程序进度

from tqdm import tqdm
import timepbar = tqdm(total=200, desc="I am fine")for i in range(20):pbar.update(10)pbar.set_description("Processing %s" % i)time.sleep(1)pbar.close()

参考文献

https://www.cnblogs.com/feffery/p/13392024.html

tqdm 简介及正确的打开方式_、Edgar的博客-CSDN博客


http://chatgpt.dhexx.cn/article/LZghRbHg.shtml

相关文章

python进度条打印

完整代码段: import time #incomplete_sign 50 # .的数量 print(*23开始下载*25) for i in range(incomplete_sign 1):completed "*" * i # 打印已完成incomplete "." * (incomplete_sign - i) # 打印未完成percentage (i / incomplete_sign…

python进度条tqdm

文章目录 1. 简介2. 安装3. 使用方法3.1 自动控制3.2 手动控制的形式 4. 总结4.1 基于迭代对象运行: tqdm(iterator)4.2 手动进行更新4.3 tqdm模块参数说明4.4 实例 5. 参考资料: 1. 简介 在进行一个很长的 for 循环的时候,如何查看循环进度&#xff1f…

[Python] 实现文本进度条

目录 简单的开始单行动态刷新带刷新的文本进度条 简单的开始 进度条是计算机处理任务或执行软件中常用的增强用户体验的重要手段,它能度条功能。今天我们将利用 Python 字符串处理方法实现文本进度条功能。 最简单地,利用 print() 函数实现简单的非刷新…

太好玩了!6种Python实现【实时】显示进度条!

相信大家对进度条一定不陌生了,比如在我们安装python库的时候可以看到下载的进度,此外在下载文件时也可以看到类似的进度条,比如下图这种: 应用场景:下载文件、任务计时等 今天辰哥就给大家分享Python的6种不同的实现实…

Python实现进度条的5种方式

Python实现显示进度条_python 显示进度条_TaoismHuang的博客-CSDN博客文章目录1. 普通进度条2.1. 普通进度条利用打印功能print进行实时刷新显示import sysimport timefor i in range(1, 101): """ 任务代码 """ print("\r", end"…

【爬虫系列】Python如何实现进度条效果?

一、需求 在爬取数据过程中,发现不看输出日志是不知道当前的爬取进度,而单纯靠控制台输出日志信息也不方便判断。因此,就想办法给爬取过程加个进度条,实时展示当前的爬取进度。 有了这个需求和想法之后,那如何实现呢…

Python 实现进度条的六种方式

一、普通进度条 示例代码 import sys import timedef progress_bar():for i in range(1, 101):print("\r", end"")print("Download progress: {}%: ".format(i), "▋" * (i // 2), end"")sys.stdout.flush()time.sleep(0.…

svn -- 客户端+服务端的下载安装及配置

通用管理后台推荐 (兮家 plus) 【兮家 plus】, 主要应用于中小型项目的快速开发,已经历历时3年的优化改进,具备完善的基础功能以及代码生成,并且拥有完善的分布式解决方案:如分布式缓存,分布式锁,分布式唯…

SVN的下载安装及配置环境变量

文章目录 简介使用SVN特点特性工作原理 安装1、安装subversion服务器端2、创建SVN资源库目录3、生成SVN资源目录4、开启3690端口5、使用命令svnserve启动服务6、用户密码passwd配置1、文件都在svn的conf/目录下2、修改passwd3、权限控制authz配置 7、修改svnserve.conf配置选项…

SVN注册下载安装以及使用一气呵成

本博客根据SVNbucket官方视频学习制作的,这里记录本人操作的记录 视频链接: https://www.bilibili.com/video/BV1k4411m7mP?vd_sourcea4c65e14d1ff11ea858cadc164fbb59e 一 .SVN的介绍 1.SVN是什么 查阅资料可以知道 ,这是一个开放源代码的版本控制系统,管理着随时间改变的…

Windows下的subversion(SVN)下载安装及配置 -详细步骤

一、安装: 1.下载网址[http://subversion.apache.org/ 2.选择Windows系统下的VisualSVN二进制安装文件 3.选择VisualSVN Server下,相应的版本 4.下载完成后,直接点击安装 5,一直下一步,到 下一步,知…

SVN的下载与安装

看到这篇博客的应该就知道SVN是什么——版本控制系统。具体高深的暂时还知道的不多,我也是才接触,在这里分享一下,也算帮自己记录一下。 SVN大概分两部分,一部分下个安装包,装在电脑上;另一部分&#xff0…

svn和TortoiseSVN下载安装步骤【非常详细】

1 安装Apache Subversion 由于Apache Subversion 项目不正式认可或维护 Subversion 软件的任何二进制包。 我们可以通过官网推荐的其他平台下载二进制包 地址 https://subversion.apache.org/packages.html 点击 VisualSVN 支持和维护(选这个是因为不需要注册&…

svn下载和安装

一、svn简介 SVN全称Subversion,是一款优秀的版本控制工具。 SVN分为服务器、客户端两部分,一般以VisualSVN作为服务器,以TortoiseSVN作为客户端。 SVN 核心概念: repository(源代码库):源代码统一存放…

项目管理工具-SVN(SubVersion)下载安装/基本详细具体使用步骤

目录 前言 SVN简介: 1.什么是SVN? 2.下载服务端 Apache Subversion Binary Packages 进入网址后,滚动到浏览器最底部看到如下截图 下载TortoiseSvn--​编辑 3.下载地址客户端 https://tortoisesvn.net/downloads.html 4.检验客…

SVN下载安装及入门使用教程,详细到不能再详细了

为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。 SVN是什么? 它是一个自由/开源的版本控制系统…

2.SVN下载及其安装配置

目录 1. SVN简介 2. SVN下载及其安装配置 3. SVN服务器与客户端基本使用 4. Eclipse中使用SVN 5. SVN冲突解决 6. IDEA中使用SVN SVN下载及其安装配置 目录安装SVN前需知下载SVN服务器1.进入官网2.点击version history历史版本3.选择4.2.0版本 --> 选择64位点击下载4.进…

SVN客户端(Windows)——Tortoise SVN(中文版 )的下载及安装

SVN客户端(Windows)——Tortoise SVN(中文版 )的下载及安装 主要介绍 Tortoise SVN 的下载、安装及如何设置为中文 Tortoise SVN 及中文安装包下载 官网下载:Tortoise SVN 123云盘下载:Tortoise SVN 及…

SVN下载与安装

1、下载地址 Downloads TortoiseSVN 这里提供一个官网的1.14.3版本。 安装包 链接:https://pan.baidu.com/s/1ZAGv5FeVLM6n3GRb4WAtvw?pwd9izl 提取码:9izl 中文语言包 链接:https://pan.baidu.com/s/1A1wILNaQu5sYAffSLl1usg?pwdll…

SVN 下载与安装(超简单)!!!

一 SVN 是什么? 在公司做过团队开发都知道,一个项目的代码要保持最新的版本。 举个例子! 例如:一个公司的项目有5人开发(A,B,C,D,E五个人),有一…