python中进度条的使用

`tqdm` 是一个非常流行的 Python 库,用于在循环中添加进度条,从而提升用户体验。它可以轻松地集成到各种循环结构中,包括 `for` 循环、`while` 循环和迭代器。下面详细介绍 `tqdm` 的用法及示例。

### 安装 `tqdm`

首先,确保你已经安装了 `tqdm`。如果没有安装,可以使用以下命令进行安装:

```sh
pip install tqdm
```


### 基本用法

#### 1. `for` 循环

最简单的用法是在 `for` 循环中使用 `tqdm`。

```Python
from tqdm import tqdm
import time

# 假设我们有一个列表
items = range(100)

for item in tqdm(items, desc="Processing items"):
    # 模拟一些耗时的操作
    time.sleep(0.1)
```


#### 2. `while` 循环

在 `while` 循环中使用 `tqdm` 时,需要手动更新进度条。

```Python
from tqdm import tqdm
import time

# 假设我们需要执行 100 次操作
total = 100
pbar = tqdm(total=total, desc="Processing items")

i = 0
while i < total:
    # 模拟一些耗时的操作
    time.sleep(0.1)
    i += 1
    pbar.update(1)  # 更新进度条

pbar.close()  # 关闭进度条
```


### 高级用法

#### 1. 自定义描述和样式

你可以自定义进度条的描述和样式。

```Python
from tqdm import tqdm
import time

# 自定义描述和样式
for i in tqdm(range(100), desc="Loading", ncols=100, bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt}'):
    time.sleep(0.1)
```


#### 2. 多重进度条

`tqdm` 支持多重进度条,适用于嵌套循环。

```Python
from tqdm import tqdm
import time

# 外层循环
for i in tqdm(range(10), desc="Outer loop"):
    # 内层循环
    for j in tqdm(range(100), desc="Inner loop", leave=False):
        time.sleep(0.01)
```


#### 3. 进度条更新

你可以手动更新进度条,适用于不确定总次数的情况。

```Python
from tqdm import tqdm
import time

# 初始化进度条
pbar = tqdm(desc="Processing items")

# 模拟不确定次数的循环
for i in range(100):
    # 模拟一些耗时的操作
    time.sleep(0.1)
    pbar.update(1)  # 更新进度条

pbar.close()  # 关闭进度条
```


#### 4. 进度条关闭

在某些情况下,你可能希望在特定条件下关闭进度条。

```Python
from tqdm import tqdm
import time

# 初始化进度条
pbar = tqdm(range(100), desc="Processing items")

for i in pbar:
    # 模拟一些耗时的操作
    time.sleep(0.1)
    if i == 50:
        pbar.close()  # 在第 50 次迭代时关闭进度条
        break
```


### 进度条的其他功能

#### 1. 显示额外信息

你可以在进度条中显示额外的信息,例如当前处理的项。

```Python
from tqdm import tqdm
import time

# 假设我们有一个列表
items = range(100)

for i in tqdm(items, desc="Processing items"):
    # 模拟一些耗时的操作
    time.sleep(0.1)
    tqdm.write(f"Processing item {i}")  # 显示当前处理的项
```


#### 2. 进度条的刷新频率

你可以调整进度条的刷新频率,以减少对性能的影响。

```Python
from tqdm import tqdm
import time

# 假设我们有一个列表
items = range(100)

for i in tqdm(items, desc="Processing items", miniters=10):
    # 模拟一些耗时的操作
    time.sleep(0.1)
```


### 总结

`tqdm` 是一个非常强大且灵活的库,可以轻松地在各种循环中添加进度条。通过自定义描述、样式和手动更新进度条,你可以根据具体需求定制进度条的行为。希望这些示例能帮助你更好地理解和使用 `tqdm`。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AI赋能电商:提升用户体验与销售效率的创新应用与未来展望

目录 前言1. AI在电商中的核心应用领域1.1 智能购物推荐1.2 精准的会员分类1.3 智能定价系统1.4 提升用户体验的智能客服系统 2. AI应用中的挑战与应对策略2.1 数据安全与隐私保护2.2 算法的公平性与透明度 3. AI在电商行业的未来发展趋势3.1 虚拟购物助手与元宇宙体验3.2 基于…

苹果音乐因为忘记续期,禁用了自己服务器...

我在《从零开始搭建博客》中有提到如何续费 SSL 证书&#xff0c;以及如何自动续费。当时我只是顺带提一嘴&#xff0c;没想到这么快&#xff0c;就有大厂因为忘记续费证书了… 然后&#xff0c;苹果是第一个被打脸的&#xff0c;忘记续期了&#xff0c;而且影响是非常重要的 …

CACTER诚邀您参加2024高交会

11月14-16日 第二十六届中国国际高新技术成果交易会 于深圳国际会展中心&#xff08;宝安&#xff09; 隆重开幕 CACTER于12号馆D12展位诚邀各位莅临 关于高交会 中国国际高新技术成果交易会&#xff08;简称“高交会”&#xff09;由深圳市人民政府主办&#xff0c;是目前…

微信多账号管理,让你的管理更轻松,效率更高!

现在微信账号越来越多&#xff0c;工作生活里头的微信一多&#xff0c;管理起来就头疼。各种消息、好友请求、群发消息一大堆&#xff0c;手忙脚乱的。 这时候&#xff0c;有个给力的微信管理工具就太重要了&#xff0c;它能帮你搞定社交&#xff0c;管理起来也轻松。 先说说…

Unity图形学之Shader2.0 OutLine实例

1.轮廓&#xff1a; &#xff08;1&#xff09;直接 渲染两个物体&#xff1a;一个大 一个小&#xff0c;大的是轮廓&#xff0c;直接返回一个颜色&#xff1b;小的物体按照纹理采样返回颜色 两个Pass { } 第一个Pass 渲染大的物体边缘第二个Pass 渲染小的物品 Shader "…

基于Springboot+微信小程序的农产品销售小程序 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

LabVIEW大数据处理

在物联网、工业4.0和科学实验中&#xff0c;大数据处理需求逐年上升。LabVIEW作为一款图形化编程语言&#xff0c;凭借其强大的数据采集和分析能力&#xff0c;广泛应用于实时数据处理和控制系统中。然而&#xff0c;在面对大数据处理时&#xff0c;LabVIEW也存在一些注意事项。…

OLED 显示画面的变换操作——上下、左右翻转

OLED 画面旋转 OLED 写入函数定义 OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping 0xa0左右反置 0xa1正常 OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction 0xc0上下反置 0xc8正常OLED 显示界面转换函数如下 void OLED_DisplayTurn(u8 i) {if(i0…

关于 JavaScript 对象不变性,你了解吗?

1. 基本概念 在 JavaScript 语言中&#xff0c;不变性&#xff08;Immutability&#xff09;是一个重要的概念。它指的是对象一旦创建后其状态就不能改变。在函数式编程中&#xff0c;不变性是实现纯函数的基础&#xff0c;因为它可以确保函数的输出只依赖于输入参数&#xff…

AOA-LSTM多输入时序预测|算术优化算法-长短期神经网络|Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、方法原理介绍&#xff1a; 四、完整程序数据下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平…

【金猿案例展】上海汽检——智能网联自动驾驶交通事故原因分析服务平台

‍ 零数科技案例 本次项目案例由零数科技投递并参与“数据猿年度金猿策划活动——2024大数据产业年度创新服务企业榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 智能网联汽车作为未来交通出行的重要载体&#xff0c;其自动驾驶功能的快速发展为车辆的安全…

基于51单片机的电风扇控制系统proteus仿真

地址&#xff1a;https://pan.baidu.com/s/11xIpPrV8Xl5Wymk_gxPxPA 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…

DAY110代码审计-PHP框架开发篇ThinkPHP版本缺陷不安全写法路由访问利用链

https://blog.csdn.net/m0_60571842/article/details/139057898 看这个原作者 知识点&#xff1a; 1、PHP框架学习-ThinkPHP-架构&调试&路由&接受2、PHP框架审计-ThinkPHP-不安全写法&版本漏洞 框架审计总结方向&#xff1a; 1、版本不安全写法怎么检测 -本…

网络安全技术在能源领域的应用

摘要 随着信息技术的飞速发展&#xff0c;能源领域逐渐实现了数字化、网络化和智能化。然而&#xff0c;这也使得能源系统面临着前所未有的网络安全威胁。本文从技术的角度出发&#xff0c;探讨了网络安全技术在能源领域的应用&#xff0c;分析了能源现状面临的网络安全威胁&a…

Ubuntu上nginx常用命令

错误截图 启用nginx systemctl start nginx 停止 systemctl stop nginx 重启 systemctl restart nginx 检查nginx配置文件是否正确 nginx -t -c /etc/nginx/nginx.conf 修改配置文件后&#xff0c;重新加载配置文件命令 nginx -s reload 查看nginx服务状态&#xff0c…

Shell编程之正则表达式与文本处理器

Shell编程之正则表达式与文本处理器 文章目录 Shell编程之正则表达式与文本处理器正则表达式正则表达式概述正则表达式的定义 基础正则表达式grep创建测试文件查找特定字符**查找行首与行位****查找任意字符和重复字符****查找连续字符范围**扩展正则表达式 扩展正则表达式文本…

机器情绪及抑郁症识别算法

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;编程探索专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月12日11点25分 点击开启你的论文编程之旅https://www.aspiringcode.com/content?id17231829233829 情感识别&#xff1a;多…

基于Java Springboot在线教育学习系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

Spring Boot编程训练系统:开发流程与技巧

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

【SSL-RL】自监督强化学习:自预测表征 (SPR)算法

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…