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`。

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

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

相关文章

【 ElementUI 组件Steps 步骤条使用新手详细教程】

本文介绍如何使用 ElementUI 组件库中的步骤条组件完成分步表单设计。 效果图&#xff1a; 基础用法​ 简单的步骤条。 设置 active 属性&#xff0c;接受一个 Number&#xff0c;表明步骤的 index&#xff0c;从 0 开始。 需要定宽的步骤条时&#xff0c;设置 space 属性即…

Java项目实战II基于微信小程序的童装商城(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 基于微信小…

基于Cocos Creator开发的打砖块游戏

一、简介 Cocos简而言之就是一个开发工具&#xff0c;详见官方网站TypeScript简而言之就是开发语言&#xff0c;是JavaScript的一个超集详解官网 今天我们就来学习如何写一个打砖块的游戏&#xff0c;很简单的一个入门级小游戏。 二、实现过程 2.1 布局部分 首先来一个整体…

BigDecimal 详解

《阿里巴巴 Java 开发手册》中提到&#xff1a;“为了避免精度丢失&#xff0c;可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗&#xff1f;确实会&#xff01; 示例代码&#xff1a; float a 2.0f - 1.9f; float b 1.8f - 1.7f; Sys…

使用git命令实现对gitee仓库的下载、更新、上传、上传更新操作。

博客内容为使用git命令实现对gitee仓库的下载、更新、上传、上传更新操作。 1、下载(检出) 使用 git clone 命令 项目仓库地址 eg: git clone https://gitee.com/zzzzzed/ChinessChess.git 如果本地已经下载了该项目则跳过该步骤。 注意使用 git clone 首次检出需要输入用户名…

攻防世界38-FlatScience-CTFWeb

攻防世界38-FlatScience-Web 点开这个here看到一堆pdf,感觉没用&#xff0c;扫描一下 试试弱口令先 源码里有&#xff1a; 好吧0.0 试试存不存在sql注入 根本没回显&#xff0c;转战login.php先 输入1’,发现sql注入 看到提示 访问后得源码 <?php ob_start(); ?>…

JavaWeb后端开发案例——苍穹外卖day01

day1遇到问题&#xff1a; 1.前端界面打不开&#xff0c;把nginx.conf文件中localhost:80改成81即可 2.前后端联调时&#xff0c;前端登录没反应&#xff0c;application.yml中默认用的8080端口被占用&#xff0c;就改用了8081端口&#xff0c;修改的时候需要改两个地方&…

常用中间件介绍

1. RabbitMQ RabbitMQ是一个基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;的开源消息代理软件&#xff0c;实现了面向消息的中间件。它支持消息持久化、队列、交换机&#xff08;Exchange&#xff09;和绑定&#xff08;Bin…

【HAProxy06】企业级反向代理HAProxy调度算法之其他算法

HAProxy 调度算法 HAProxy通过固定参数 balance 指明对后端服务器的调度算法&#xff0c;该参数可以配置在listen或backend选项中。 HAProxy的调度算法分为静态和动态调度算法&#xff0c;但是有些算法可以根据不同的参数实现静态和动态算法 相互转换。 官方文档&#xff1…

什么是 eCPRI,它对 5G 和 Open RAN 有何贡献?

这里写目录标题 eCPRI 协议平面&#xff1a;功能分解eCPRI与CPRI的区别CPRI具有以下特点&#xff1a;eCPRI具有以下特点&#xff1a;eCPRI 的优势 所需带宽减少 10 倍适用于 5G 和 Open RAN 的 eCPRI&#xff1a; 通用公共无线接口&#xff08;CPRI&#xff09;是一种行业合作&…

【网页设计】HTML5 和 CSS3 提高

目标 能够说出 3~5 个 HTML5 新增布局和表单标签能够说出 CSS3 的新增特性有哪些 1. HTML5 的新特性 注&#xff1a;该部分所有内容可参考菜鸟教程菜鸟教程 - 学的不仅是技术&#xff0c;更是梦想&#xff01; (runoob.com) HTML5 的新增特性主要是针对于以前的不足&#xf…

Dinky控制台:利用SSE技术实现实时日志监控与操作

1、前置知识 1.1 Dinky介绍 实时即未来,Dinky 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。 Dinky 是一个开箱即用、易扩展,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。 致力于简化Flink任务开…

如何判断 Hive 表是内部表还是外部表

在使用 Apache Hive 进行大数据处理时&#xff0c;理解表的类型&#xff08;内部表或外部表&#xff09;对于数据管理和维护至关重要。本篇文章将详细介绍如何判断 Hive 表是内部表还是外部表&#xff0c;并提供具体的操作示例。 目录 Hive 表的类型简介判断表类型的方法 方法…

破局数字化转型:企业转型实施中的挑战与解决之道

数字化转型的必然性与复杂性 面对快速变化的市场需求和技术革新&#xff0c;企业迫切需要通过数字化转型提升业务敏捷性、优化流程并加强客户体验。然而&#xff0c;转型过程并非易事&#xff0c;各种挑战使得转型进程复杂且风险重重。从技术选择、架构设计到变革管理&#xf…

3DTiles之i3dm介绍

3DTiles之i3dm介绍 3D Tiles 是一种用于高效存储和传输三维城市、建筑、地形、点云等空间数据的开放标准格式。i3dm&#xff08;Intel 3D Model&#xff09;是 3D Tiles 中用于表示三维模型&#xff08;如建筑物或其他对象&#xff09;的一个子格式。i3dm 格式的出现&#xff…

本地部署大模型?看这篇就够了,Ollama 部署和实战

写在前面 前几篇&#xff0c;分享的都是如何白嫖国内外各大厂商的免费大模型服务~ 有小伙伴问&#xff0c;如果我想在本地搞个大模型玩玩&#xff0c;有什么解决方案&#xff1f; Ollama&#xff0c;它来了&#xff0c;专为在本地机器便捷部署和运行大模型而设计。 也许是目…

前端学习八股资料CSS(二)

更多详情&#xff1a;爱米的前端小笔记&#xff0c;更多前端内容&#xff0c;等你来看&#xff01;这些都是利用下班时间整理的&#xff0c;整理不易&#xff0c;大家多多&#x1f44d;&#x1f49b;➕&#x1f914;哦&#xff01;你们的支持才是我不断更新的动力&#xff01;找…

使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件

前言 假设您正在现有项目中集成这些包&#xff0c;而该项目的构建工具为 Webpack 或 Vite。同时&#xff0c;您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法&#xff0c;请随时留言。 安装 npm install three types/three react-three/fiber rea…

麻将室灯控计时计费软件下载 佳易王棋牌计时电脑收银管理系统操作教程

一、概述 【软件资源下载在文章最后】 麻将室灯控计时计费软件下载&#xff0c;棋牌计时电脑收银管理系统操作教程 核心功能‌&#xff1a; ‌计时计费‌&#xff1a;实时显示开台时间及使用时长&#xff0c;‌销售商品‌&#xff1a;商品可与桌子绑定最后结账&#xff0c;或…

【时间之外】IT人求职和创业应知【35】-RTE三进宫

目录 新闻一&#xff1a;京东工业发布11.11战报&#xff0c;多项倍增数据体现工业经济信心提升 新闻二&#xff1a;阿里云100万核算力支撑天猫双11&#xff0c;弹性计算规模刷新纪录 新闻三&#xff1a;声网CEO赵斌&#xff1a;RTE将成为生成式AI时代AI Infra的关键部分 认知…