千家信息网

怎么在Python中妥善使用进度条

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍"怎么在Python中妥善使用进度条",在日常操作中,相信很多人在怎么在Python中妥善使用进度条问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么在
千家信息网最后更新 2024年11月14日怎么在Python中妥善使用进度条

这篇文章主要介绍"怎么在Python中妥善使用进度条",在日常操作中,相信很多人在怎么在Python中妥善使用进度条问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么在Python中妥善使用进度条"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1 简介

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

    2 tqdm常用方法

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

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

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

    2.1 基础用法

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

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

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

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

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

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

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

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

    2.3 配合pandas中的apply

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

    3 alive-progress常用方法

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

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

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

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

    到此,关于"怎么在Python中妥善使用进度条"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

    进度 过程 迭代 循环 功能 对象 方法 程序 学习 帮助 运行 实用 动态 文字 时间 更多 样式 生成 出名 特殊 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 投资软件开发公司的理由 江苏工程软件开发价格大全 计算机网络技术基础 缩写 南通尽在网络技术 ibm 服务器 售后电话 阿里云数据库导出本地 生产环境数据库如何实现主从同步 同花顺软件开发工作环境 郓城软件开发互动平台哪家好 什么是文件数据库管理方式 t20服务器安装内置扬声器 阿里巴巴网络安全负责人道哥 税务局网络安全三字 虚拟化服务器搭建设置 天龙八部3d技能数据库 微信年终总结数据库 汕头信息软件开发市场价 北京捷瑞网络技术有限公司看准网 魔兽世界蜥蜴人数据库 什么软件开发模型不适合现代开发 软件开发行业中级证书有哪些 服务器信息服务器管理设置 如何进行DNS服务器配置管理 非计算机专业数据库就业 25岁用的交友软件开发 qt监测数据库状态 小程序数据库读写权限 电脑wifi网络安全密钥不对 闵行区品质软件开发定制价格 sql如何更名数据库
    0