python库 - tqdm

文章目录

      • 主要特点
      • 安装
      • 基本用法
        • 1. 在 `for` 循环中使用
        • 2. 在 `enumerate` 中使用
        • 3. 自定义描述信息
        • 4. 在多线程中使用
      • 高级用法
        • 1. 手动更新进度条
        • 2. 嵌套进度条


tqdm 是一个用于 Python 的快速、可扩展的进度条库。它可以在长循环中提供即时的进度反馈,帮助开发者了解代码运行的进度和剩余时间。tqdm 这个名字来源于阿拉伯语单词 “taqaddum”,意为 “进展”,同时也与西班牙语中的 “te quiero demasiado”(我非常爱你)谐音。

主要特点

  1. 简单易用:只需在现有循环外层包裹 tqdm,即可显示进度条。
  2. 灵活性:支持多种循环类型,包括 for 循环、while 循环,以及自定义迭代器。
  3. 可定制性:可以自定义进度条的格式、颜色、描述信息等。
  4. 多线程/多进程支持:可以在多线程或多进程环境中使用。
  5. 轻量级:对性能影响极小,几乎不会增加额外的运行时间。

安装

通过 pip 安装 tqdm

pip install tqdm

基本用法

基本的 tqdm 使用示例:

1. 在 for 循环中使用
from tqdm import tqdm
import timefor i in tqdm(range(100)):time.sleep(0.1)  # 模拟一些耗时操作
2. 在 enumerate 中使用
from tqdm import tqdm
import timefor i, item in tqdm(enumerate(range(100))):time.sleep(0.1)  # 模拟一些耗时操作
3. 自定义描述信息
from tqdm import tqdm
import timefor i in tqdm(range(100), desc="Processing"):time.sleep(0.1)  # 模拟一些耗时操作
4. 在多线程中使用
from tqdm import tqdm
from concurrent.futures import ThreadPoolExecutor
import timedef task(n):time.sleep(0.1)  # 模拟一些耗时操作with ThreadPoolExecutor(max_workers=5) as executor:list(tqdm(executor.map(task, range(100)), total=100))

高级用法

1. 手动更新进度条
from tqdm import tqdmpbar = tqdm(total=100)
for i in range(10):# 模拟一些耗时操作pbar.update(10)
pbar.close()
2. 嵌套进度条
from tqdm import tqdm
import timefor i in tqdm(range(5), desc="Outer Loop"):for j in tqdm(range(100), desc="Inner Loop", leave=False):time.sleep(0.01)

tqdm 是一个非常实用的库,特别适合在需要长时间运行的循环中使用,以便实时监控进度。简单易用性和高度可定制性使其成为 Python 开发者工具箱中的一个重要工具。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SprongBoot3整合Knife4j

大家好,我是晓凡。 写在前面 在上一篇文章,我们详细介绍了SpringBoot3 怎么整合SpringDoc实现在线接口文档。但是,有不少小伙伴 都觉得接口界面太丑了。有没有什么更美观一点的UI界面呢? 当然是有的了,毕竟这是一…

抖音直播自动点赞脚本:让点赞变得简单

抖音直播自动点赞脚本:让点赞变得简单 简介 点赞是社交媒体上表达喜爱的一种方式,尤其在抖音这样的平台上,点赞不仅能够增加主播的人气,还能鼓励他们创作更多优质内容。然而,手动点赞往往既耗时又费力。为了解决这个…

云服务出现故障这样处理

无法连接云服务器 服务器远程无法连接时,可通过7ECloud控制台进行连接。 常见故障现象 1、ping不通 2、ping丢包 3、部分端口telnet不通 4、全部端口telnet不通 5、广告、弹窗植入 6、域名无法访问IP访问正常 常见故障原因 1、云服务器过期、关机或者EIP被…

CentOS 7 上搭建 JavaEE 环境

CentOS 7 上搭建 JavaEE 环境 安装 Java 环境 1)检查系统中是否已安装 Java java -version如果未安装,将返回提示信息。 2)安装 Java 8 sudo yum install java-1.8.0-openjdk3)配置 Java 环境变量,编辑 /etc/prof…

深度学习基准模型Transformer

深度学习基准模型Transformer 深度学习基准模型Transformer,最初由Vaswani等人在2017年的论文《Attention is All You Need》中提出,是自然语言处理(NLP)领域的一个里程碑式模型。它在许多序列到序列(seq2seq&#xf…

恭喜了!全体前端彻底狂欢吧!这个好消息来得太及时!

在这个快速变化的科技时代,作为独立开发者,你是否常常被繁琐的开发任务压得喘不过气?前端开发要操心后端的各种服务搭建和接口开发,这些琐碎而耗时的工作常常让人头大。但现在,你可以松一口气了,因为MemFir…

【ARM-Linux篇】项目:智能家居

一、项目概述 •项目功能 通过语音控制客厅灯、卧室灯、风扇、人脸识别开门等,可以进行火灾险情监测,可以并且实现Sockect发送指令远程控制各类家电等 •项目描述 全志H616通过串口连接各模块硬件,检测语音的识别结果,分析语音识别的结果来对家电设备进行控制。摄像头拍…

java 创建带参数的对象

在Java中,可以使用构造方法来创建带参数的对象。构造方法是一个特殊的方法,用来初始化对象的属性。 以下是创建带参数的对象的步骤: 在类中定义一个带参数的构造方法,方法名与类名相同。在构造方法中定义参数,并通过…

Elasticsearch的Mapping

Elasticsearch的Mapping Mapping是什么 Mapping定义了ES的索引结构、字段类型、分词器等,是索引的一部分。类似于关系型数据库中“表结构”的概念,在 Mapping 里也包含了一些属性,比如字段名称、类型、字段使用的分词器、是否评分、是否创建…

视频上面怎样编辑文字?4种视频编辑文字方法分享

视频已成为我们日常生活中不可或缺的一部分。无论是社交分享、商业宣传还是个人记录,视频都以其直观、生动的特点吸引着观众的眼球。然而,一个优质的视频,除了画面和音效,文字编辑也是提升观看体验的关键。那么,如何在…

Webpack: 并行构建

概述 受限于 Node.js 的单线程架构,原生 Webpack 对所有资源文件做的所有解析、转译、合并操作本质上都是在同一个线程内串行执行,CPU 利用率极低,因此,理所当然地,社区出现了一些以多进程方式运行 Webpack&#xff0…

1390 - 四位数的和

问题描述 请从键盘读入一个四位整数&#xff0c;求这个四位整数各个位的和是多少&#xff1f; 输入 一个四位整数 n 。 输出 这个四位数各个位的和。 样例 输入 3456 输出 18 代码1 #include <iostream>int main() {int n;std::cin >> n;int sum 0;su…

Redis学习——Redisson 分布式锁集成及其简单使用

文章目录 引言1. Redisson概述1.1 Redisson的基本概念1.2 Redisson的主要功能1.3 Redisson的优点 2. 开发环境3. Redisson的安装与配置3.1 添加依赖3.2 配置Redisson 4. 使用Redisson4.1 可重入锁4.1.1 可重入锁的概念4.1.2 可重入锁的实现原理4.1.3 简单使用锁的获取和释放 4.…

在线疫苗预约小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;工作人员管理&#xff0c;管理员管理&#xff0c;用户管理&#xff0c;疫苗管理&#xff0c;论坛管理&#xff0c;公告管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;公告&#xff0c;疫苗&…

【FreeRTOS】空闲任务

目录 空闲任务及其钩子函数介绍使用钩子函数的前提 实际操作任务如何退出&#xff1f;IDLE函数 空闲任务及其钩子函数 介绍 空闲任务(Idle任务)的作用之一&#xff1a;释放被删除的任务的内存。 除了上述目的之外&#xff0c;为什么必须要有空闲任务? 这是一个良好的程序&…

fastapi登录功能

fastapi登录功能 1、登录参数必须是OAuth2PasswordRequestForm类型 因为在swagger UI中的登录使用的表单传账号和密码这个类依赖python-multipart&#xff0c;使用前需安装 pip install python-multipart2、示例代码 login_router.post("", summary"登录&qu…

Linux基础 - DHCP 动态管理主机地址

目录 零. 简介 一. 部署 dhcpd 二. 提高安全性 零. 简介 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;是一种网络协议&#xff0c;用于动态地为主机分配 IP 地址、子网掩码、默认网关、DNS 服务器等网络配置信息。 其主要…

鸿蒙 HarmonyOs 动画效果 快速入门

一、理论 1.1 animation属性 名称参数类型必填描述durationnumber否设置动画时长&#xff0c;默认值&#xff1a;1000&#xff0c;单位&#xff1a;毫秒temponumber否动画播放速度。数值越大&#xff0c;速度越快&#xff0c;默认为1curvestring | Curve否 设置动画曲线。 默…

ubuntu 23 连接正点imx6ull的uboot

由于使用ubuntu23&#xff0c;无法连接正点的imx6ull的uboot&#xff0c;因为这个uboot里面的nfs是v2&#xff0c;ubuntu23内核是6.5不支持uboot v2。配置/etc/default/nfs-kernel-server sudo vim /etc/default/nfs-kernel-server 更改以下参数&#xff1a; RPCNFSDCOUNT"…

C语言--vs使用调试技巧

1.什么是bug? 1.产品说明书中规定要做的事情&#xff0c;而软件没有实现。 2.产品说明书中规定不要做的事情&#xff0c;而软件确实现了。 3.产品说明书中没有提到过的事情&#xff0c;而软件确实现了。 4.产品说明书中没有提到但是必须要做的事情&#xff0c;软件确没有实…