易于使用的进度条
项目描述
Python的简单进度报告
条形图
有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%
您可以在 message 和 suffix 中使用多个模板参数
名称 |
值 |
---|---|
索引 |
当前值 |
最大值 |
最大值 |
剩余值 |
最大值 - 索引 |
进度 |
索引 / 最大值 |
百分比 |
进度 * 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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c9c86e98b5c03fa1fe11e3b67c1feda4788b8d0fe7336c2ff7d5644ccfba34cd |
|
MD5 | 7389594900723583f14a97669ba4ef0a |
|
BLAKE2b-256 | 2a68d8412d1e0d70edf9791cbac5426dc859f4649afc22f2abbeb0d947cf70fd |