首页 > 编程语言 >python进度库-tqdm的自定义能力

python进度库-tqdm的自定义能力

时间:2024-10-31 10:12:27浏览次数:1  
标签:tqdm bar 自定义 迭代 进度条 python 更新

今天罗列几个关于 tqdm 常见自定义场景。并尝试对动态更新描述信息做简单的封装,积累一些通用模块。

tqdm 提供了丰富的自定义选项,可以让你根据不同的需求调整进度条的外观和行为,接下来看看他的自定义能力。

tqdm 函数参数:
desc :进度条的描述信息。
total :总迭代次数(默认为 None ,会自动检测)。
leave :是否在完成时保留进度条(默认为 True )。
ncols :进度条的最大宽度(列数)。
ascii :是否使用 ASCII 字符显示进度条(默认为 False )。
bar_format :自定义进度条的格式字符串。
colour :设置进度条的颜色。

1. 基本自定义

desc="Processing" :设置进度条的描述信息。
ascii=False :不使用 ASCII 字符显示进度条。这个参数默认就是 False ,如果设置为 True,进度条就变成 #
ncols=75 :设置进度条的最大宽度为 75 列。
第一个是 ascii = False。第二个是 ascii = True

2. 自定义进度条格式

你可以通过 bar_format 参数来自定义进度条的格式。并且有一些信息只有 tqdm 才"知道"的信息,因此,它内置了一些占位符:
{l_bar} :左边的进度条部分。
{bar} :进度条本身。
{r_bar} :右边的信息部分。
{n} :当前迭代次数。
{total} :总迭代次数。
{percentage} :百分比。
{rate} :每秒迭代次数。
{elapsed} :已用时间。
{remaining} :剩余时间。

3.设置进度条颜色

你可以通过 colour 参数来设置进度条的颜色。 colour 可以接受多种颜色名称或 RGB 值。


4.动态更新描述信息

这个是最常用的功能,你可以在循环中动态更新进度条的描述信息。

行5: tqdm(total=100, desc="动态更新描述信息") :创建一个进度条对象,并设置总迭代次数为 100。 with 语句确保在退出块时自动关闭进度条。
行7-17:在特定的迭代次数( i == 20 , i == 40 , i == 60 , i == 80 )时,调用 pbar.set_description() 方法来更新进度条的描述信息。
pbar.update(1) :每次迭代增加进度条 1 个单位。这是必须的,否则进度条不会更新。

上面的写法侵入性太强了,一大堆关于进度的代码混到主循环里面。我们尝试做一些简单封装。

先看看封装后的使用代码有哪些改进:

行4:使用 with 语法创建和使用 CustomTqdm 对象。当退出 with 语句块时, __exit__ 方法会自动调用 pbar.close() 关闭进度条。
行6-9: 在循环之前,配置不同的更新点。避免循环中出现过多的进度相关代码
行13:在循环中,每次迭代调用 pbar.update(1) 更新进度条。

看看实现代码:

抄自于:https://www.toutiao.com/article/7431040976401023498/

标签:tqdm,bar,自定义,迭代,进度条,python,更新
From: https://www.cnblogs.com/panwenbin-logs/p/18517104

相关文章

  • 鸿蒙自定义编辑框与共享沙箱实现个性化输入法与编辑框的交互
    本文旨在深入探讨自定义编辑框与共享沙箱在跨应用数据共享方面的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在现代应用开发中,用户对于个性化体验......
  • Python 进度条模块tqdm
    1.简介在处理大规模数据或长时间运行的任务时,了解任务的进度对于用户体验和调试来说非常重要。tqdm是一个用于显示进度条的Python库,它能将任务的进度信息直观地展示出来。无论是遍历一个大型列表、处理批量数据,还是下载文件,tqdm都能轻松实现进度条显示,并且与Python的标准......
  • 织梦 DedeCMS 自定义表单出现“数据校验证不对,程序返回”的解决方案
    问题:自定义表单提交时提示“数据校验不对,程序返回”。解决方法:找到新的 dede_fieldshash 值:打开后台-核心-频道模型-自定义表单。找到设置好的自定义表单,点击“前台预览”。如果提示前台预览关闭,点击“修改”,将“前台列表和内容也公开”选项勾选为“完全公开”......
  • python3 tcp_client
    tcp_client.py#-*-coding:utf-8-*-#tcp客户端,使用单例模式实现#create:2023-06-26importsocketimporttimeimporttracebackclassTCPConnection:__instance=None#存储单例对象的类属性def__new__(cls,host,port):"""实现......
  • Python 自动化运维:日志与监控的深度探索
    Python自动化运维:日志与监控的深度探索目录......
  • Python学习15天
    if 条件表达式:(条件为真,执行代码块1,否则执行代码块2)   代码块1else:   代码块2#键盘输入成绩,若成绩大于60,输出及格,否则输出不及格score=int(input("请输入成绩:"))ifscore>60:   print("及格")else:   print("不及格")#键盘输入年份,判断是......
  • Python学习第14天
    ~:按位取反,把数据的每个二进制按位取反~5:5=00000101(原码=反码=补码)~5=11111010(补码)-(反码=补码-1)=11111001-原码=00000110=6~5=6print(~5)~-3=2print(~-3)-3>原码=10000011>反码=11111100>补码=11111101~-3=00000010(补码=反码=原码)=2&:按位与:两个值都为1则......
  • SD ComfyUI工作流 SVD自定义模型提示词图像转换
    文章目录SVD自定义模型提示词图像转换SD模型Node节点工作流程工作流下载效果展示SVD自定义模型提示词图像转换该工作流聚焦在StableDiffusion模型和LoRA堆叠的应用,通过一系列生成与优化节点将文本描述逐步转化为精细的图像,最终组合成视频。此流程包含了......
  • Python 程序打包成 EXE 文件及相关操作详解
    Python程序打包成EXE文件及相关操作详解一、引言在Python开发中,有时我们希望将编写的程序打包成可独立执行的EXE文件,以便在没有安装Python环境的计算机上运行。同时,为了使生成的可执行文件更具辨识度和美观性,我们还可以为其指定一个自定义图标。本文将详细介绍如......
  • Python 标准库——argparse模块
    文章目录前言一、主要作用二、基本步骤1.导入模块2.创建解析器对象3.添加参数4.解析参数5.使用解析后的参数6.编写主函数并调用三、函数示例前言argparse是Python标准库中的一个模块,用于编写用户友好的命令行接口。它允许你轻松地定义程序应该接受的命令行参数,并......