跳转到主要内容

易于使用的进度条

项目描述

Python的简单进度报告

pypi

Demo

条形图

有7种进度条可供选择

  • 条形图

  • 充电条形图

  • 填充方块条形图

  • 填充圆形条形图

  • 增量条形图

  • 像素条形图

  • 阴影条形图

要使用它们,只需调用 next 以前进,并调用 finish 以完成

from progress.bar import Bar

bar = Bar('Processing', max=20)
for i in range(20):
    # Do some work
    bar.next()
bar.finish()

或使用此类中的任何条形图作为上下文管理器

from progress.bar import Bar

with Bar('Processing', max=20) as bar:
    for i in range(20):
        # Do some work
        bar.next()

结果将是一个如下所示的条形图

Processing |#############                   | 42/100

为了简化在迭代器中完成工作的常见情况,您可以使用 iter 方法

for i in Bar('Processing').iter(it):
    # Do some work

进度条非常可自定义,您可以更改它们的宽度、填充字符、后缀等

bar = Bar('Loading', fill='@', suffix='%(percent)d%%')

这将产生如下所示的条形图

Loading |@@@@@@@@@@@@@                   | 42%

您可以在 messagesuffix 中使用多个模板参数

名称

索引

当前值

最大值

最大值

剩余值

最大值 - 索引

进度

索引 / 最大值

百分比

进度 * 100

平均值

每项的简单移动平均时间(以秒为单位)

已过时间

以秒为单位的已过时间

已过时间 td

已过时间作为timedelta(用于打印为字符串)

eta

avg * remaining

eta_td

eta作为timedelta(用于打印为字符串)

在实例化时,您不需要传递所有配置选项,您也可以创建自己的自定义子类

class FancyBar(Bar):
    message = 'Loading'
    fill = '*'
    suffix = '%(percent).1f%% - %(eta)ds'

您还可以覆盖任何参数或创建自己的参数

class SlowBar(Bar):
    suffix = '%(remaining_hours)d hours remaining'
    @property
    def remaining_hours(self):
        return self.eta // 3600

旋转器

对于具有未知步骤数的操作,您可以使用旋转器

from progress.spinner import Spinner

spinner = Spinner('Loading ')
while state != 'FINISHED':
    # Do some work
    spinner.next()

有 5 个预定义的旋转器

  • 旋转器

  • PieSpinner

  • MoonSpinner

  • LineSpinner

  • PixelSpinner

安装

从 PyPi 下载

pip install progress

其他

还有许多其他类可用,请查看源代码或从其中一个子类创建自己的类。

许可证

progress 采用 ISC 许可

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

progress-1.6.tar.gz (7.8 kB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面