专注Python、AI、大数据,请关注公众号七步编程!
当你运行一个耗时较长的程序时,发现等待了很长时间突然中断了,具体处理到哪里、完成度如何,却不得而知。
如果有一定的Python开发经验,会想到使用进度条工具tqdm
,这是一款比较常用,且非常经典的进度条工具包。
然而,它繁琐的使用方法与带来的效率提升并不匹配,使得我很少使用这款工具。
而今天要给大家介绍的这款Python工具包却让我感到心动。它不仅有漂亮的动画,还可以显示实时速度,预计完成时间等实用的功能。能够让你对程序执行过程一目了然。
下面就来介绍一下这款Python工具包alive-progress。
alive-progress
alive-progress是一款非常炫酷的Python进度条工具包。
当然,仅凭炫酷的外表,而没有实质的内涵是不足以促使我向大家推荐这款工具的。它具有如下特性:
- 能够准确显示当前执行状态,告诉你正在正常运行,还是已经挂起;
- 显示当前的执行速度,给使用者直观的视觉反馈;
- 预期到达时间(ETA),采用智能指数平滑算法,以最友好的方式显示剩余处理时间;
- 支持一种新的日志记录方法,它允许在动画栏的中间轻松的打印语句和日志消息,自动清理屏幕;
- 处理完成后,将打印出一些统计信息,其中包括运行情况、执行时间和观察到的吞吐量;
- 它跟踪所需的计数,用于检测下溢和上溢,因此,如果发送的数量少于或大于预期,则外观会给与显示;
- 可以暂停执行过程,这是进度条前所未有的功能!能够在正在运行过程中暂停和恢复进度条;
- 可定制化,具有多种不同的进度条样式,可以生成个性化进度条;
安装
使用alive-progress可以直接通过pip
命令进行安装:
pip install alive-progress
示例
下面,给出一个alive-progress的简单示例,来看一下它如何使用:
from alive_progress import alive_bar
items = range(1000)
with alive_bar(len(items)) as bar:
for item in items:
bar()
从这个简单的示例中,可以得到如下信息:
- 代码中的
items
可以是任何可迭代对象,通常是一些查询集; -
alive_bar
的参数是迭代对象的长度,或者进度条的期望长度; -
bar
的调用使得进度条功能启动
样式
如果,你觉得默认的样式不够个性化,你还可以定制别具特色的进度条:
消息显示
使用tqdm的时候,最令人头疼的一点就是当输出消息的时候,界面上会混乱不堪,而alive-progress允许在动画栏的中间轻松的打印语句和日志消息,自动清理屏幕:
通过alive-progress这款工具,你就可以对执行程序的运行状态、预计完成时间一目了然。
推荐阅读
网友评论