python的轻量级进度报告工具
light-progress的Python项目详细描述
这是python的进度报告工具
n=42withProgressBar(n)asprogress_bar:foriteminrange(n):sleep(0.01)progress_bar.forward()
# [▉..............................] 1% (1/42)# [███████████████▉...............] 50% (21/42)# [███████████████████████████████] 100% (42/42)
安装
pip install light-progress
示例
导入
fromtimeimportsleepfromlight_progress.commandlineimportProgressBar
模式1
自己调用startforward和finish。
n=42progress_bar=ProgressBar(n)progress_bar.start()foriteminrange(n):sleep(0.01)progress_bar.forward()progress_bar.finish()
模式2
在with中执行迭代。start和finish不必 显式调用。
n=42withProgressBar(n)asprogress_bar:foriteminrange(n):sleep(0.01)progress_bar.forward()
模式3
传递迭代。您不必调用任何ProgressBar方法 你自己。
ProgressBar.iteration(range(42),lambdaitem:sleep(0.01))
模式4
传输生成。您不必调用任何ProgressBar方法 你自己。
foriteminProgressBar.generation(range(42)):sleep(0.01)
颜色
status | color |
---|---|
In progress | Blue |
Success | Green |
Failure | Red |
小部件
ProgressBar可以使用widget更改显示格式。
fromlight_progressimportwidget
widgets=[widget.Bar(bar='=',tip='-'),widget.Percentage(),widget.Num()]ProgressBar.iteration(range(42),lambdaitem:sleep(0.01),widgets=widgets)# [===============-...............] 50% (21/42)
widgets=[widget.Percentage(),widget.Num(),'loading...',widget.Bar(bar='#',tip='>')]ProgressBar.iteration(range(42),lambdaitem:sleep(0.01),widgets=widgets)# 50% (21/42) loading... [###############>...............]
格式
format_str='{} {} ({})'widgets=[widget.Bar(),widget.Percentage(),widget.Num()]ProgressBar.iteration(range(100),lambdaitem:sleep(0.01),widgets=widgets,format_str=format_str)# [███████████████████████████████] 100% (100/100)
format_str='{} *** {} *** ({})'widgets=[widget.Bar(),widget.Percentage(),widget.Num()]ProgressBar.iteration(range(100),lambdaitem:sleep(0.01),widgets=widgets,format_str=format_str)# [███████████████████████████████] *** 100% *** (100/100)