Python实现任务进度条展示(tqdm库实现进度条)

news2025/3/1 2:00:12

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


桃花飞绿水,三月下瞿塘。   《宿巫山下》


文章目录

  • 一、Python实现进度条展示
    • 1. 安装tqdm库
    • 2. 进度代码
    • 3. 示例代码
    • 3. 执行结果
  • 二、拓展
    • 1. 进度条参数获取
    • 2. 注意事项
  • 三、示例代码下载


一、Python实现进度条展示

通过tqdm库实现进度条的展示

1. 安装tqdm库

安装tqdm库

pip install tqdm

2. 进度代码

进度的代码如下

from tqdm import tqdm

# 定义进度,即从进度值0-100
total = 10
for i in tqdm(range(total), desc="进度"):
    # 需要执行的任务代码

3. 示例代码

假设有一个任务需要遍历执行100次,整个一百次循环就是一个进度任务,每循环一次进度条就会前进一点
示例代码如下

from tqdm import tqdm
import time

# 定义进度,即从进度值0-100
total = 100
# 进度条,100分为100等分
for i in tqdm(range(total), desc="进度"):
    # 执行的任务
    # 模拟任务的执行,每次等待都是一次任务的执行,等待时间 0.1 秒
    time.sleep(0.1)

3. 执行结果

示例代码执行的结果打印如下
在这里插入图片描述
执行结束如下
在这里插入图片描述

二、拓展

1. 进度条参数获取

多数情况下不需要考虑进度条的值是多少,只需要能在控制台看到进度即可
但少数情况需要获取任务的进度值,比如前端需要展示任务的进度给到客户,那这个进度值就需要传给他,这个时候我们需要将进度的值提取出来
想要获取任务进度的参数值其实很简单,就是遍历的变量i参数
代码如下

from tqdm import tqdm
import time

# 定义进度,即从进度值0-100
total = 100
# 进度条,100分为100等分
for i in tqdm(range(total), desc="进度"):
    # 执行的任务
    # 模拟任务的执行,每次等待都是一次任务的执行,等待时间 0.1 秒
    print("\n进度值i:", i)
    time.sleep(0.1)

将参数i提取出来实时返回或者存入某个位置让前端取即可
在这里插入图片描述

2. 注意事项

这个进度条的实现只能对那些循环遍历的任务,对于单个任务的执行,我暂时无法获取任务执行的进度值
当然了,单个任务的进度条,也可以使用上面的方法进行,只要将单个的任务放在上面的for循环下执行即可,但是这样实现的进度条是假的,是循环执行了这个一个任务实现的进度条
也就是说,一个任务你执行了一百次,实现了从0-100的进度值,这样的效率可想而知,非常的慢
当然,为了更快,将循环的次数降为10或者5可能更好,也就是一个任务执行五次或者十次,以此来实现进度条显示和值的获取

三、示例代码下载

示例代码已上传至CSDN资源库
下载地址:Python 任务进度条展示tqdm实现 示例代码


感谢阅读,祝君暴富!

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

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

相关文章

高考完的三个月想自学点编程,有没有什么建议

👆点击关注 获取更多编程干货👆 对于刚刚完成高考的学生来说,无论未来是否选择计算机科学作为专业方向,自学编程技能是一项非常有价值的投资,掌握编程知识能够帮助同学们为将来的学习和科研 实践奠定一个基础。 随着…

计算机网络 —— 运输层(运输层概述)

计算机网络 —— 运输层(运输层概述) 运输层运输层端口号复用分用复用(Multiplexing)分用(Demultiplexing) 常用端口号页面响应流程 我们今天进入到运输层的学习: 运输层 我们之前学习的物理层…

感受光子芯片中试线,如何点亮未来计算与通信的革命之路(2024青岛智能装备与通信技术展)

光子芯片中试线:点亮未来计算与通信的革命之路 在新一代信息技术的浪潮中,光子芯片以其低能耗、高速度的特点备受瞩目。首条光子芯片中试线的建立,标志着我国在光电子领域的重大突破,同时也为即将到来的量子计算时代奠定了坚实基…

【DivineCut 2】Blender商店10周年免费领礼物智能服装布料生成工具限时免费领取。(1个月免费使用)

Blender商店10周年免费领礼物:https://blendermarket.com/birthday DivineCut 2 智能服装生成工具限时免费领取。(1个月免费使用) (免费测试版资源库) DivineCut™是一款Blender工具,只需点击几下&#xf…

样本学习:当AI遇上“少见多怪”

东汉名臣牟融在其著作《牟子》写道:“少所见,多所怪,睹橐驼,谓马肿背。”意思是见闻少的人遇到不常见的事物就觉得奇怪,见到骆驼也以为是背肿了的马。因此,后人总用“少见多怪”来嘲笑见识浅陋的人。然而&a…

互联网创业项目,轻资产创业项目。

目录 前言: 一、当前有哪些热门的互联网轻资产创业项目? 二、这些项目是做什么的? 三、项目一般都是怎么做的? 前言: 当前互联网创作项目多多,该怎么选择合适自己的项目去做呢? 一、当前有哪…

Windows 文件夹(文件)备份脚本bat

使用xcopy 来实现 1、新建一个bat脚本 重命名文件为 windows_log_bak.bat 后缀也成修改为.bat 2、备份代码 xcopy参数: #可在命令窗口执行这个命今,查看所有参数详细 xcopy /? 使用的参数: /e:拷贝所有子目录,包括…

编译结果处理的shell脚本

#!/bin/bash WEB"web" DIST"dist" RED\033[0:31m GREEN\033[0;32m NC\033[0m #生产打包传参 BUILD"b" if [ -e ${WEB} ];then#删历史文件rm -r ${WEB}rm ${WEB}.zip fi #编辑文件 npm run build #检查构建是否成功 if[ -e ${DIST} ];then#改名mv…

Java基础:Stream流和方法引用

一、Stream流 1.引言 Test:给定一个集合,如果想要筛选出其中以 "a" 开头且长度为3的元素,并添加到新集合中去,最后遍历打印,如何实现? public class Test {public static void main(String[] …

【机器学习300问】118、循环神经网络(RNN)的基本结构是怎样的?

将讲解循环神经网络RNN之前,我先抛出几个疑问:为什么发明循环神经网络?它的出现背景是怎样的?这些问题可以帮助我们更好的去理解RNN。下面我来逐一解答。 一、循环神经网络诞生的背景 循环神经网络(RNN)的…

OrangePi Kunpeng Pro 安装 ROS2 + Gazebo

文章目录 1. 初识1.1 到手开箱1.2 OrangePi Kunpeng Pro1.2 上电 2. 安装Ubuntu2.1 准备工作2.2 安装 3. 安装ROS23.1 设置支持UTF-8的locale编码3.2 添加证书3.3 安装ROS3.4 设置环境变量3.5 小海龟来啦 4. 运行实例4.1 安装Gazebo4.2 安装turtlebot 总结 1. 初识 1.1 到手开…

springboot、springcloud、springcloudalibaba版本组件之间对应关系

参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E#%E6%AF%95%E4%B8%9A%E7%89%88%E6%9C%AC%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8 毕业版本依赖关系(推荐使用) 由于 Spring Boot 3.0&…

linux服务器网络配置

目录 1、centos的网络配置1.1 静态Ipv4配置方法:1.2 动态Ipv4的设置方法1.3 常见ping不通网关的原因:1.4 查看操作系统版本1.5 查看一台服务器的所有服务1.6 猜测所在房间网关ip 2、 Ubuntu的网络配置(静态ipv4)3、2024.6.14 解决…

《精通ChatGPT:从入门到大师的Prompt指南》第6章:日常对话与问答

第6章:日常对话与问答 6.1 提问技巧 提问技巧在使用ChatGPT时至关重要,因为高质量的提问能够得到更为准确和有价值的回答。以下是一些关键技巧和方法,帮助你掌握提问的艺术。 1. 明确问题目标 在提问之前,首先要明确你希望从C…

干G货,性能测试基本方法和原则,

一、性能测试关键点 评估性能指标——线程tps(可架构给) 吞吐量qps(可架构给) 错误率(可架构给) 平均响应时间(可架构给)模拟线上数据量了解接口有没有缓存,有缓存的需要…

同三维T80005EHS-4K60 4K60 HDMI/SDI编码器

1路4K60 HDMI或12G SDI输入,2路3.5MM音频输入,对应HDMI或SDI,1个USB口和1个SD卡槽,可录像到U盘/移动硬盘/SSD硬盘/TF卡 产品简介: 同三维T80005EHS-4K60 4K60HDMI/SDI H.265编码器采用最新高效H.265高清数字视频压缩…

CV预测:快速使用ResNet深度残差神经网络并创建自己的训练集

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

基于hispark_taurus开发板示例学习OpenHarmony编译构建系统(2)

3、hispark_taurus产品解决方案-Vendor 产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。_产品解决方案也是一个特殊的组…

Sentence Transformers x SwanLab:可视化Embedding训练

Sentence Transformers(又名SBERT)是访问、使用和训练文本和图像嵌入(Embedding)模型的Python库。 你可以使用Sentence Transformers快速进行模型训练,同时使用SwanLab进行实验跟踪与可视化。 1. 引入SwanLabCallback from swanlab.integra…