用户名:  密码:   
网站首页即时通讯活动公告最新消息科技前沿学人动向两岸三地人在海外历届活动关于我们联系我们申请加入
栏目导航 — 美国华裔教授专家网科技动向科技前沿
关键字  范围   
 
Tqtm —— 一个拒绝无聊的 Python 库
来源:管窥程序 | 作者:晓飞的李 | 2024/2/19 21:46:23 | 浏览:410 | 评论:0

Tqtm —— 一个拒绝无聊的 Python 库


继续我们的有趣的 Python 库之旅 ——

一个小小的库,或许能避免重复造轮子,

一个不显眼的功能,也许能在关键时刻拯救我们,

一个出乎意料的方法,或许能激发更多创意灵感,

一个独特的技能,也许能成为我们的守护神……


程序员最无聊的时候是等待编译,或者等待一个不知道需要多久的执行过程。

最头痛的是等待的过程中不知道程序是在跑还是卡死了,最最头痛的时,你以为程序会正常执行完,睡了一觉起来发现,不知啥时候它早就挂了!

谁能救救我们这些勤勤恳恳,真诚善良的程序员呢?

tqdm 闻声而现,它就是一款让你拥有优雅控制台进度条体验的库,它可以在边界不明显的数据处理过程中为你提供清晰的进展指示器。

什么是  tqdm?
tqdm  源自阿拉伯语中的"taqaddum"一词(تقدّم),意为“进展”,同时又是西班牙语“I love you so much”一句话的简写。

这个小巧的库提供了一个快速、扩展性强的进度条,适用于命令行界面和图形用户界面,并在您的长循环中添加一个进度提示信息,以让您轻松监控代码的执行进度。

相较于其他进度条库如  progress  和 click.progressbar,tqdm  易用性更高,可自定义性强,并且对迭代速度的影响极小。

项目地址:https://github.com/tqdm/tqdm

安装
安装  tqdm  是非常简单的。只需要执行下面的  pip  命令:

pip install tqdm

基本功能
易于使用
tqdm  最大的特点可能就是它的易于使用了。您可以仅通过简单的一行代码,给您的循环添加一个进度条:

from tqdm import tqdm
for i in tqdm(range(10000)):
    # 您的操作
    pass
效果如下:

76%|████████████████████████████         | 7568/10000 [00:33<00:10, 229.00it/s]
兼容性强

无论您的操作系统是  Linux、Windows、Mac  还是  FreeBSD, tqdm  都能够完美运行。

它支持各种控制台和图形界面,并且与  IPython/Jupyter  也非常友好。

性能几乎无影响
tqdm  对你程序的迭代速度几乎没有影响。实际上,每次迭代的开销低至 60 纳秒。

这使得它即便用于非常快的循环中也不会成为性能瓶颈。

高级功能
自定义进度条
如果  tqdm  的默认进度条样式不满足您的需求,您还可以自定义进度条的格式:

from tqdm import trange
for i in trange(100, bar_format='{l_bar}{bar:10}{r_bar}{bar:-10b}'):
    # 您的操作    pass
效果如下:

 19%|██        | 19/100 [00:19<01:21,  1.00s/it]                               
命令行管道
除了在 Python 代码中使用,还可以直接用在命令行中,例如:

$ seq 9999999 | tqdm --bytes | wc -l
效果如下:

75.2MB [00:00, 187MB/s]
9999999
更复杂点的例子:

7z a -bd -r backup.7z docs/ | grep Compressing | tqdm --total $(find docs/ -type f | wc -l)--unit files >> backup.log
这个命令行的功能是:将 docs 目录及其子目录中的所有文件压缩到一个 backup.7z 文件中,并在 backup.log 文件中记录压缩过程中每个被压缩的文件的信息,同时用 tqdm 显示一个表示压缩进度的进度条。

效果示例如下:

100%|████████████████████████████████| 8014/8014 [01:37<00:00, 82.29files/s]
还想了解更多详细的高级用法,请参考项目文档[1]。

实践
认识了  tqdm  的基本使用后,试着在您的日常数据处理或者模型训练代码中使用它。

开始感受每个数据点被处理的满足感,享受掌控进度的愉悦吧。

总结
tqdm  是一个极其好用的  Python  进度条库,具有低开销、易用性强以及可高度自定义等优点。

无论是简单的数据处理还是复杂的数据分析,tqdm  都能让您更直观地掌握处理进度,提高工作效率和体验。

接下来,如果您有耗时的循环任务,不妨试试给它们加上一个 tqdm 吧!

参考资料
[1]
项目文档:https://tqdm.github.io/

相关栏目:『科技前沿
如何绘制Nature漂亮的机制示意图? 2024-06-29 [433]
加州大学颠覆性大模型架构,FPGA重回AI舞台? 2024-06-29 [474]
OpenAI前首席科学家Ilya创立新公司,瞄准超越AGI的“超级人工智能”和绝对的AI安全 2024-06-21 [579]
2024年最新影响因子(完整版)已更新!2024年最新影响因子(完整版)已更新! 2024-06-21 [677]
苹果AI一夜颠覆所有!Siri史诗级进化,内挂ChatGPT-4o,奥特曼来了,马斯克怒了 2024-06-13 [769]
Transformer结合U-Net登上Nature子刊!最新成果让精度和效率都很美丽 2024-06-13 [780]
大撕裂理论:220亿年后宇宙终结,地球将在宇宙终结前几分钟毁灭 2024-06-08 [930]
我们看见暗物质了吗? 2024-06-07 [861]
如果不流浪地球,能直接住在流浪行星上吗? 2024-06-07 [837]
宇宙大爆炸并不存在?量子模型预测宇宙无始无终 2024-06-04 [977]
相关栏目更多文章
最新图文:
:《2019全球肿瘤趋势报告》 :阿尔茨海默病预防与干预核心讯息图解 :引力波天文台或有助搜寻暗物质粒子 :Sail Through the Mist - SoCal Innovation Forum 2019(10/5) 游天龙:《唐人街》是如何炼成的:UCLA社会学教授周敏的学术之路 :“为什么海外华人那么爱国,但是让他回国却不愿意?...“ :学术出版巨头Elsevier 彻查433名审稿人“强迫引用”黑幕 :中国336个国家重点实验室布局
更多最新图文
更多《即时通讯》>>
 
打印本文章
 
您的名字:
电子邮件:
留言内容:
注意: 留言内容不要超过4000字,否则会被截断。
未 审 核:  是
  
关于我们联系我们申请加入后台管理设为主页加入收藏
美国华裔教授专家网版权所有,谢绝拷贝。如欲选登或发表,请与美国华裔教授专家网联系。
Copyright © 2024 ScholarsUpdate.com. All Rights Reserved.