Python扩展包_进度条

进度条 alive_progress

项目地址

alive_progress一个及其优秀的进度条开源工具,支持暂停和打断动画,在多线程多进程的程序也可以正常使用。进度条样式很多,自定义程度也很高。

1 alive_bar

1.1 参数说明

alivez_bar是针对进度条的使用方式,参数说明如下:

def alive_bar(total=None, *, calibrate=None, **options)
  • total:总任务数量
  • calibrate:动画的帧率,越小帧率越高,一般用默认的1e6就可以

**options是进度条的可选项,里面选项的写法和函数参数写法一样。说明如下:

① 外观类

  • title(string):进度条开头的标题
  • length(int):渲染进度条的长度
  • spinner (Union[None, str, object]):进度条旁边等待动画的渲染主题样式。类型包括主题名称(spinner)字符串,或自定义主题。(主题样式将在之后演示)
  • bar (Union[None, str, object]):进度条主题样式。包括主题名称(bar)字符串,或自定义主题。(主题样式将在之后演示)
  • theme (str):主题样式,一个同时设置bar和spinner的主题。(主题样式将在之后演示)
  • title_length (int):强制标题长度,超过则忽略多余部分并显示一个省略号
  • spinner_length (int):强制等待动画的长度,建议默认

② 控制类

  • ctrl_c (bool):在终端使用Ctrl+C终止程序后,是否在结尾输出终止错误
  • disable (bool):是否禁用进度条
  • enrich_print (bool):在进度内使用print时,若为是则实时输出,若为否则在结束后一次性输出
  • force_tty (Optional[int|bool]):是否在不能渲染和抓取log的终端中强制渲染,建议默认自动识别
  • receipt (bool):是否在进度结束后保留进度条的结果
  • receipt_text (bool):在进度结束后是否继续保留进度条的描述信息
  • refresh_secs (int):强制规定刷新的周期,建议使用默认就好

③ 文本类

  • dual_line (bool):是否将进度条描述信息显示在第二行
  • monitor (bool|str):设置进度监视器的文本样式(默认152/200 [76%])。设置的书写格式:
    {count}/{total} [{percent}%]
  • elapsed (bool|str):设置计时器的文本样式(默认in 12s)。设置的书写格式:in {elapsed}s
  • stats (bool|str):设置进度速度的文本样式((123.4/s, eta: 12s))。设置的书写格式:
    {rate}, eta: {eta}
  • monitor_end (bool|str)、elapsed_end (bool|str)、stats_end (bool|str):在进度条结束时显示这些布局的样式,书写方式与上述相同

1.2 使用例子

1. 带print和log信息的进度条

其中,bar()默认走一个进度,如果写bar(num),则走num个进度

2. 进度条在少于、等于、大于任务数以及未知(unknown)时的表现

2 alive_it

2.1 参数使用

def alive_it(it, total=None, *, finalize=None, calibrate=None, **options)
  • it:迭代变量
  • finalize:当进度结束时执行的函数
  • 其他的和alive_bar一致

2.2 使用例子

1. 直接以迭代器的的for循环方式写出
for i in alive_it(range(10), title='test'):
    # code
    pass
2. 以变量的循环方式写出

若想使用在进度条内的说明,需要在类内的属性bar.text进行设置

bar = alive_it(range(100), receipt=False)
for i in bar:
    bar.text = f' ->Wow, it works!'
    time.sleep(0.02)

3 动画演示

3.1 bar

3.2 spinner

3.3 theme

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容