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

4、更多

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

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

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

相关文章

ssm045基于jsp的精品酒销售管理系统+jsp

ssm045基于jsp的精品酒销售管理系统jsp 交流学习: 更多项目: 全网最全的Java成品项目列表 https://docs.qq.com/doc/DUXdsVlhIdVlsemdX 演示 项目功能演示: ————————————————

Vue3中使用provide和inject依赖注入完成父组件和孙子组件之间参数传递

Vue3中使用provide和inject依赖注入完成父组件和孙子组件之间参数传递 官网介绍 注意以下写法都是使用setup 代码结构 依赖注入-父组件 import { ref, provide } from "vue"const outDialogCardInfo ref() function updateOutDialogCardInfo(item) {console.log…

Java --- JVM之StringTable

目录 一、String的基本特性 二、String的内存分配 2.1、String内存分布图 三、字符串拼接操作 3.1、字符串拼接操作底层原理 3.2、拼接操作与append操作效率对比 四、intern()方法 4.1、intern()效率 五、StringTable的垃圾回收 一、String的基本特性 1、String字符…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):FREERTOS移植

前言: 一般的GUI工程都需要一个操作系统,可能是linux,重量级的,也可能是FreeRTOS,轻量级的。 一句话理解那就是工程就是FreeRTOS task任务的集合。 一个main函数可以看到大框架: 很显然,除了第一个是硬件配置的初始化,中间最重要的部分就是要创建任务,把AWTK的应用…

XXX系统测试报告测试用例模板

XXX系统测试报告 编制: 2023-5-16 审核: 日期: 批准: 日期: 版本 修订时间 修订人 修订类型 修订章节 修订内容 *修订类型分为 A …

人工智能与大数据:驱动现代业务转型的双引擎

在当今数字化时代,人工智能(AI)和大数据已成为驱动业务和技术创新的关键力量。它们的结合不仅重塑了传统行业,也催生了新的商业模式和服务方式。 AI与大数据在零售行业的应用 在零售行业,AI和大数据的应用已经成为提…

ai语音电销机器人电销行业要怎么降低封号率?

工信部对电话营销电话的管控越来越严格,企业电销行业的发展受到了很多限制,因为电话销售人员在进行销售工作的时候,经常会因为各种原因触发封号机制,导致手机卡号被封,那企业电销行业要怎么降低封号率? 很多…

命令行中引导用户指定选择文档

背景 在python中,我们如果需要操作文档,则需要用户指定文档,那么,如何引导用户指定或者选择文档呢? 导入包 本次我们即将演示的代码,使用了 DebugInfo python包,我们需要导入 DebugInfo 包 …

三分钟学完Git版本控制常用指令

基本指令 git clone [url] 克隆远程仓库到本地 git clone https://gitee.com/mayun2023a/mprpc.git2.git checkout -b xxx 切换至新分支xxx(相当于复制了remote的仓库到本地的xxx分支上) 3.修改或者添加本地代码(部署在硬盘的源文件上) 4.g…

2023年人工智能还好找工作吗?

人工智能的就业形势并不严峻,相反,很多岗位都是供不应求的状态,可以看一下下面的官方数据。 脉脉高聘人才智库发布《2023泛人工智能人才洞察》,对23年1-8月的人工智能行业现状进行了分析总结。 人工智能相关岗位数据&#xff1a…

vue中cli组件如何自定义定义

目录 创建自定义组件 注册并使用自定义组件 注册组件: 在需要使用该组件的页面或父组件中注册并引入自定义组件。 使用 Props 传递数据 总结步骤: 前言 在Vue CLI中使用自定义组件是构建交互式和模块化Web应用的重要一环。Vue CLI为开发者提供了使用…

PowerPoint技巧:如何将一张图片同时加到全部幻灯片里?

想把一张图片加到PPT每一张幻灯片的同一个位置,如果一张一张的添加就太耗时间了,一起来看看如何利用母版快速设置同时添加吧。 首先,打开需要编辑的PPT,在菜单栏依次点击【视图】→【幻灯片母版】; 打开母版后&#x…