千家信息网

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

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章主要介绍"怎么在Python中妥善使用进度条",在日常操作中,相信很多人在怎么在Python中妥善使用进度条问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么在
千家信息网最后更新 2024年11月15日怎么在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安全错误 数据库的锁怎样保障安全 乐橙检查网络安全 当前公安网络安全的现状 数据库文件恢复软件中文完整版 警方通过dna数据库对比 网络安全大赛标志图案 钉钉消息撤回服务器会有记录吗 北京微梦科技网络技术有限公司 DBL共享数据库 社交软件开发费用多少钱 变电站网络安全监测装置介绍 网络安全黑客攻击种类 网络安全和数据安全最大区别 杭州云集网络技术招聘 皮克斯软件开发部门 杭州长牛网络技术公司 软件开发质量评定 网络安全纵深防御体系有哪些 数据通信与网络技术电子版 时序数据库兼容sql 数据库排序最大三个 计算机网络技术的毕业论题 体验服显示服务器满了怎么办 网易mc联机无法连接服务器 怎么开发个app软件开发 自来水公司表务数据库管理制度 时序数据库 原理 网易163邮箱服务器 江苏特种网络技术价目表 配置管理节点为时间服务器 宁波有道网络技术有限公司口碑
    0