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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容