alive progress是一种具有实时吞吐量和非常酷的动画新型的进度条python库。 您是否曾经在远程ssh会话中发现自己,做了一些冗长的操作,然后不时地感到需要进入[输入]以确保您不会失去连接?有没有想过您的处理在哪里,何时完成?是否曾经需要暂停进度条一段时间,返回python REPL进行手动检查或修复项目,然后像从未发生过的那样恢复过程? 我制作了这个很酷的进度条,考虑了所有这些问题,活动的进度条!:) 我喜欢将其视为python的一种新型进度条,因为它具有以下优点: 一个很酷的实时微调器,它清楚地表明您的漫长过程没有挂起,并且ssh连接正常。 当旋转器根据实际处理速度运行得更快或更慢时,对当前速度/吞吐量的视觉反馈; 一个有效的多螺纹杆,其在所述实际速度的一小部分来更新自身(每秒相当于百万迭代以每秒刷新速率大约60帧),以保持CPU使用率较低,避免终端滥发; (📌 新功能:您现在可以对此进行校准!) 预期到达时间(ETA),采用智能指数平滑算法,以最友好的方式显示剩余的处理时间; 一个print()钩子和(📌新增)日志记录支持,该功能允许在动画栏的中间轻松地打印语句和消息,自动清理屏幕,甚至在出现当前位置时丰富屏幕内容; 处理完成后,将打印一张不错的收据,其中包含该运行的统计信息,包括经过时间和观察到的吞吐量; 它跟踪所需的计数(不一定是实际的迭代)以检测上溢和下溢,因此,如果发送的数量少于或大于预期,则外观会有所不同; 它会自动检测是否有分配的tty,如果没有(如管道重定向),只会打印最终收据,因此您可以安全地将其包含在任何代码中,并确保您的日志文件不会成千上万进度线; 您可以暂停它!我认为这是进度条前所未有的功能!能够在正在运行的进度条上下文中手动操作某些项目,并像以往任何时候都从未停止过的那样恢复进度条,真是令人难以置信。 它是可定制的,具有越来越多的不同条形和旋转器样式的杂货店,以及多家工厂,可轻松产生您的!
📌 1.6系列的新功能! 软包装支持-或实际上缺乏支持,如果它不再适合该行,它将不会拼命地滚动您的终端! 隐藏的光标支持-更美观,更专业的外观! python日志记录支持-从日志记录中充分清除和丰富消息,而无需任何配置或修改! ETA的指数平滑-最需要时更平滑! 适当的栏标题-左对齐,始终可见的标题,因此您知道该处理会带来什么结果! 延长了经过时间和ETA表示-尽可能最小的再现,因此您可以最大化动画! 新的bar.text()专用方法-现在您可以更改情境消息,而不必继续前进! 性能优化-更少的开销,您的处理甚至不会注意到它!
使用 您只需使用pip安装:pip install alive-progress 清醒一下 打开这样的上下文管理器: from alive_progress import alive_bar items = range(1000) # retrieve your set of items with alive_bar(len(items)) as bar: # declare your expected total for item in items: # iterate as usual # process each item bar() # call after consuming one item 然后它就可以开始工作了! 👏 通常,只需检索项目,进入alive_bar()上下文管理器,然后正常进行迭代/处理,bar()就每个项目调用一次即可。 款式想知道它内置了什么样式?是showtime啊!;)
|