Python 中的 tqdm() 方法

tqdm(阿拉伯语"taqaddum"的缩写,意为"进展")是Python中一个用于在循环中显示进度条的库。它提供了一种简单而又灵活的方式来监测代码执行的进度,特别是在处理大量数据或耗时较长的任务时非常有用。

1、安装

要使用tqdm库,首先需要安装它。可以使用pip包管理器在命令行中运行以下命令进行安装:

pip install tqdm

 2、示例

安装完成后,就可以在Python脚本中导入tqdm库并使用其中的tqdm函数。以下是使用tqdm库的基本示例:

from tqdm import tqdm
import time

# 创建一个迭代对象
data = range(10)

# 使用tqdm包装迭代对象
for item in tqdm(data):
    # 模拟耗时操作
    time.sleep(0.1)

 在上面的示例中,我们首先从tqdm库中导入tqdm函数,并导入time模块用于模拟耗时操作。然后,我们创建一个包含10个元素的迭代对象data,并使用tqdm函数来包装这个迭代对象。

在循环中,每次迭代时,tqdm函数会自动更新进度条,显示当前的进度和估计的剩余时间。在每次迭代之间,我们使用time.sleep(0.1)函数来模拟一个耗时操作。

3、参数介绍

使用tqdm的优点是它提供了一个简洁而美观的进度条,同时还可以根据需要自定义进度条的样式和显示信息。tqdm库提供了许多参数,用于自定义和调整进度条的外观、格式和行为。以下是一些常用参数的解释:

  • iterable:要迭代的对象,可以是列表、元组、集合等可迭代对象。
  • desc:进度条的描述文本,显示在进度条的左侧。
  • total:迭代对象的总大小,用于计算进度百分比。如果不指定,则进度条将根据迭代对象的长度自动确定。
  • leave:进度条完成后是否保留在输出中。值为True或False。
  • ncols:进度条的宽度(以字符为单位),用于限制进度条的宽度。如果ncols的值为正整数N(N > 0),则进度条的宽度将被限制为N个字符。默认情况下或者ncols的值为0、负数或None,则进度条的宽度将根据终端的宽度自动调整。
  • bar_format:进度条的样式格式字符串。它可以包含特定的占位符,例如"{l_bar}{bar}{r_bar}"表示左边的文本、进度条本身和右边的文本。你可以在占位符中添加自定义的文本或符号来美化进度条。
  • unit:进度条的单位名称,用于显示在进度百分比后面。例如,如果单位为"bytes",则进度条将显示为"10/100 bytes"。
  • unit_divisor:进度条的单位除数,默认为1。可以用于将进度条的单位转换为更适合显示的单位格式。例如,如果单位为"bytes",但实际值是以KB为单位的,你可以将unit_divisor设置为1024,以便显示为"10/100 KB"。
  • color:进度条的颜色,可以是ANSI颜色代码或预定义的颜色名称。ANSI颜色代码如,“\033[31m”表示红色,“\033[32m”表示绿色。tqdm库还提供了一些预定义的颜色名称,包括:black、red、green、yellow、blue、magenta、cyan、white。(如果设置颜色会报错,那可能是终端不支持)
from tqdm import tqdm
import time

data = range(10)
for item in tqdm(data, desc='输出0-9', ncols=100, unit="次循环"):
    # 模拟耗时操作
    time.sleep(0.1)

4、更多

除了基本的用法外,tqdm还提供了其他功能,例如在多线程/多进程环境中使用、显示剩余时间的估计、计时器等。可参考:https://github.com/tqdm/tqdm

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

golang 解析oracle 数据文件头

package mainimport ("encoding/binary""fmt""io""os" ) // Powered by 黄林杰 15658655447 // Usered for parser oracle datafile header block 1 .... // oracle 数据文件头块解析 // KCBlockStruct represents the structure of t…

什么是美颜SDK?美颜SDK对比评测

美颜SDK在视频直播中发挥着越来越重要的作用。为了实现实时、高质量的美颜效果,各种视频直播美颜SDK应运而生。本文将对这些技术进行深入解析与比较。 一、技术原理解析 深度学习技术通过大量的训练数据学习人脸特征,从而实现更为自然的美颜效果。传统…

干货分享:如何提高商城系统网页访问速度?

如今,商城系统网页的访问速度对于用户体验和销售业绩至关重要。用户对于网页的加载速度要求越来越高,一旦加载速度过慢,用户可能会选择离开,甚至转向竞争对手的网站。因此,提高商城系统网页的打开速度是每个电商运营者…

2023年【N1叉车司机】找解析及N1叉车司机复审模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 2023年N1叉车司机找解析为正在备考N1叉车司机操作证的学员准备的理论考试专题,每个月更新的N1叉车司机复审模拟考试祝您顺利通过N1叉车司机考试。 1、【多选题】《中华人民共和国特种设备安全法》第八十三…

ROS1 学习11 坐标系tf 管理系统 简介及demo示例

坐标系是我们非常熟悉的一个概念,也是机器人学中的重要基础,在一个完整的机器人系统中,会存在很多坐标系,这些坐标系之间的位置关系该如何管理? ROS给我们提供了一个坐标系的管理神器——TF。 比如在机械臂形态的机器…

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录 安装ros(如果只是运行ORB-SLAM3,可以跳过安装)0. ros 安装教程1. 安装opencv2. 安装Pangolin3. 安装Eigen34.安装Python & libssl-dev5.安装boost库6.安装ceres库(不必须)7.安装Sophus库(不必须)8. 安装g20库…

多线程概述及创建

什么是线程? 线程(thread)是一个程序内部的一条执行路径。 我们之前启动程序执行后,main方法的执行其实就是一条单独的执行路径。 程序中如果只有一条执行路径,那么这个程序就是单线程的程序。 多线程是什么? 多线程是指从软…

Linux 读写权限的配置

文章目录 Linux文件权限详解 一、文件权限二、修改文件访问权限的方法三、UMASK值四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)五、ACL访问控制列表六、文件权限操作的常用命令 Linux文件权限详解 Linux系统中不仅是对用户与组根…

Cesium 实战 - 加载水经微图下载资源问题 - 地球南北极有蓝圈,南北极空洞

Cesium 实战 - 加载水经微图下载资源问题 - 地球南北极有蓝圈 错误展示排错过程解决问题完整代码在线示例 在某个项目中,客户提到一个问题,即地球南北极会有一个蓝色的洞,经复现,确实有这个问题。见下图。 经过排查,最…

高难度工业废水处理有哪些注意事项

高难度工业废水处理的注意事项包括: 预处理:在将废水输送至污水处理系统前,应进行预处理,以减轻处理设备的负荷,提高处理效率。预处理可以包括去除废水中的悬浮物、沉淀物以及防止化学物质的沉积等。针对不同废水选择…

nestJs(三) 数据库

真正的服务往往包括数据存储。 本篇将介绍如何建立 NestJs 的数据库连接、并使用数据库联表查询。这样就就是完整的后台服务了。 开发准备 下载并安装 Mysql创建 school 库 create database school;3.安装 nestjs/typeorm typeorm mysql2 npm install --save nestjs/typeor…

浅了解下:运营商大数据如何挖掘电销同行网站,APP,精准获客 ?

今天我们要讲的是运营商精准大数据营销。运营商精准大数据营销只是精准营销的一种,精准营销筛选包含了电话营销这个词。那么电话营销如何通过运营商大数据找到精准的客户?电销如何通过大数据找到准确的客户来源? 在全网时代,大数…

echarts:graph图表拖拽节点

需求:实现一个可视化编辑器,用户可以添加节点,并对节点进行拖拽编辑等 实现期间碰到很多问题,特意记录下来,留待将来碰到这些问题的同学,省去些解决问题的时间 问题1:节点的data如下&#xff0…

无需管理底层基础设施,亚马逊云科技向量数据库轻松创建ML增强的搜索体验和应用程序

当我们进入一家图书馆时,图书馆的入口处会有几台电脑供你检索相关的书籍,你可以检索你想要的书籍的名字例如:《百年孤独》、《悲惨世界》等等,你也可以检索作者例如:川端康成、鲁迅、加缪等等,当然你也可以…

读书充电,温暖你的冬日,本期为大家送出几本架构师成长和软件架构技术相关的好书,助你度过这个不太景气的寒冬!

目图书录 ⭐️《高并发架构实战:从需求分析到系统设计》⭐️《架构师的自我修炼:技术、架构和未来》⭐️《中台架构与实现:基于DDD和微服务》⭐️《分布式系统架构:架构策略与难题求解》⭐️《流程自动化实战:系统架构…

家电制造产线物料追踪RFID智能管理解决方案

家电行业需求 家电行业的生产节奏快,供应商众多,导致入厂车辆经常出现拥堵和等待的情况,生产线可能因为关键零部件物流未到位而停产,传统的家电制造行业生产物流模式主要依赖人工进行零部件的存储、拣选、配送、核对和发放等环节…

中国唯一!华为入选Gartner®企业低代码应用平台魔力象限

近日,全球咨询机构Gartner发布 《Magic Quadrant™ for Enterprise Low-Code Application Platforms》报告,华为入选该象限,作为中国唯一入选厂商,华为已连续两年入选Gartner企业低代码应用平台魔力象限。 华为云Astro低代码平台采…

动态获取填充表格数据时的特定值的赋值

1、如图 <el-tablev-loading"loading":data"columnList"bordertooltip-effect"dark":size"tableSize":height"tableHeight"style"width: 100%; margin: 15px 0"><el-table-column type"selection…

【MySQL】随手笔记(积跬步至千里)

一、常用函数 &#xff08;1&#xff09;uuid() select uuid(); //生成随机数 select replace(uuid(),-,); //将随机数的-去掉 select upper(replace(uuid(),-,)); ///改成大写应用举例&#xff1a; &#xff08;1&#xff09;非自增主键 非自增主键&#xff0c;insert语…

优化奥德赛:揭开训练人工神经网络的本质

一、介绍 近年来&#xff0c;人工智能领域取得了显著的进步&#xff0c;而这场革命的核心是训练人工神经网络 &#xff08;ANN&#xff09; 的复杂过程。这些网络受到人脑的启发&#xff0c;能够从数据中学习复杂的模式和表示。人工神经网络成功的核心是认识到训练它们从根本上…