如何用Python制作漂亮的进度条!

介绍几种给你的Python代码加上酷炫的进度条的方式 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。 自定义ProgressBar 最原始的办法就是不借助任何第三方工具,自己写一个进度条函数,使用time模块配合sys模块即可 自己定义... 阅读详情
关注我的另一个号并加星标(专注python指标与策略),不定期送书抽奖:

如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。

5d5e3aae270774d1b4075b7aedb13477.gif

在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。

c8720345b1505ef0584a9d78a86ce1ad.gif

下文将介绍 4 个常用的 Python 进度条库:

Progress

第一个要介绍的 Python 库是 Progress。

你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条。

import timefrom progress.bar 
import IncrementalBarmylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar( Countdown , max = len(mylist))
for item in mylist: 
  bar.next() 
  time.sleep(1) 
  bar.finish()

Progress 实现的进度条效果如下:

Progressbar 的增量进度条

如果你不喜欢该进度条的格式,还可以从以下格式中挑选:

ProgressBar 支持的进度条类型。

相关文档:https://pypi.org/project/progress/1.5/

tqdm

下面我们看一下 tqdm 库。

和之前见过的库差不多,这两行代码也非常相似,在设置方面有一点点不同:

import timefrom tqdm 
import tqdmmylist = [1,2,3,4,5,6,7,8]
for i in tqdm(mylist): 
  time.sleep(1)

tqdm 实现的进度条效果如下:

7b28334b9b4a2cab4cfcab5541c4dfb4.gif

这个进度条也提供了几种选项。

相关文档:https://tqdm.github.io/

Alive Progress

顾名思义,这个库可以使得进度条变得生动起来,它比原来我们见过的进度条多了一些动画效果。

从代码角度来说比较相似:

from alive_progress import alive_barimport 
timemylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar: 
  for i in mylist: 
    bar() 
    time.sleep(1)

进度条的外观和预期差不多:

6e33487246337da2176b04828924a5da.gif

这种进度条有一些与众不同的功能,使用起来会比较有趣,功能详情可见项目:https://github.com/rsalmei/alive-progress

PySimpleGUI

用 PySimpleGUI 得到图形化进度条

我们可以加一行简单的代码,在命令行脚本中得到图形化进度条。

e4bd641b0143b182ed101c34ce9268c9.gif

为了实现上述内容,我们需要的代码是:

import PySimpleGUI as sgimport 
timemylist = [1,2,3,4,5,6,7,8]
for i, item in enumerate(mylist): 
  sg.one_line_progress_meter( This is my progress meter! , i+1, len(mylist),  -key- ) 
  time.sleep(1)

PySimpleGUI 应用程序中的进度条项目作者之前曾经在 GitHub 上讨论过「如何快速启动 Python UI,然后使用 UI 创建比较工具」。

在这个项目里,作者还讨论了一下如何集成进度条。

1c7f749862e355b83712f7a71f10b5f5.gif

代码如下:

import PySimpleGUI as sgimport 
timemylist = [1,2,3,4,5,6,7,8]
progressbar = [ [sg.ProgressBar(len(mylist), orientation= h , size=(51, 10), key= progressbar )]]
outputwin = [ [sg.Output(size=(78,20))]]
layout = [ [sg.Frame( Progress ,layout= progressbar)], [sg.Frame( Output , layout = outputwin)], [sg.Submit( Start ),sg.Cancel()]]
window = sg.Window( Custom Progress Meter , layout)
progress_bar = window[ progressbar ] while True: 
  event, values = window.read(timeout=10) 
  if event ==  Cancel  or event is None: 
    break 
  elif event ==  Start : 
    for i,item in enumerate(mylist): 
      print(item) 
      time.sleep(1) 
      progress_bar.UpdateBar(i + 1)window.close()

没错,在 Python 脚本中使用进度条只需要几行代码,一点也不复杂。有了进度条,以后也不用再猜测脚本运行的怎么样了。

bb676fc8959acbdf2bcfaf06a02d78c8.jpeg

最后推荐一下我们团队写的量化小册的内容,35篇内容!从Python安装,入门,数据分析,爬虫解释,爬取股票基金的历史+实时数据,如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!

欢迎订阅:原价199 早鸟价39(满100人涨10元)。现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+全套课程源码,还有永久陪伴群。48小时无理由退款,放心食用!

948b8f7eebb831adcab33362f37de252.png

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

【Python第三方包】控制台进度条——让你控制台变的更漂亮(tqdm) 在现代软件开发中,用户体验是至关重要的一环。不仅仅要求功能实现的稳定和高效,还需要考虑用户与应用程序交互的愉悦程度。而在命令行界面(控制台)中,一个简单而有效的方式就是通过展示清晰、漂亮的进度条,使用户能够直观地了解程序运行的进度。Python作为一门强大且灵活的编程语言,拥有丰富的第三方库,其中就有许多用于美化控制台输出的工具。本文将重点介绍tqdm这个优秀的第三方包,它能够帮助我们轻松创建漂亮的控制台进度条,让用户的交互体验更加愉快。tqdm是Python中一个用于在控制台显示进度条的库。 阅读详情

相关推荐

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

weixin_40735291的博客 6618

使用Python制作进度条有多少种方法?看这一篇文章就够了!

偶然间刷到一个视频,说到:当程序正在运算时,会有一个较长时间的空白期,谁也不知道程序运行的进度如何,不如给他加个进度条。于是我今个就搜寻一下,Python版的进度条都可以怎么写!

码银的博客 6236

华为云Stack的学习(三)

LVS是四层负载均衡,建立在OSI模型的传输层之上,所以效率非常高。NAT模式的转发主要通过修改IP地址(位于OSI模型的第三层网络层)实现转发。DR模式的转发主要通过修改MAC地址(位于OSI模型的第二层数据链路层)实现转发。云服务框架中使用的DR模式。域名解析服务器分为管理侧(OM)和租户侧(Tenant)**DNS-OM:**作为云服务的本地DNS服务器,为云服务提供域名解析服务,并代理公网域名的解析。

Ciyaso的博客 8562

几行代码就能实现漂亮进度条,厉害了

这个进度条库的使用方法是不是很简单,几行代码就能为我们的程序增色不少。

weixin_53707653的博客 1945

牛耕式全覆盖算法-matlab代码

牛耕式路径全覆盖算法,也称为牛耕算法或者蚂蚁算法,是一种用于解决路径规划问题的启发式算法。这个算法的灵感来自于牛在耕田时的行为。在这个算法中,假设有一块田地需要耕作,牛从田地的某个角落开始行走,走过的路径会被标记。牛会优先选择尚未经过的路径,当所有的路径都走过后,算法停止。在路径规划问题中,田地可以看作是一个由节点和边构成的图。每个节点代表一个位置,每条边代表两个节点之间的连接。路径全覆盖问题是找出一组路径,使得每个节点都被至少一条路径经过。牛耕式路径全覆盖算法的基本思想是以启发式的方式逐步构建路径。

m0_69611489的博客 1690

独立站如何采集商品?外贸独立站采集教程

从这里Robert了解到还有国内有很多仿牌卖家、微商,都有类似的情况,他们出海的阻碍主要在于支付、物流、推广。8.插件“抓取任务”列表手动点同步,将商品同步到主商城后台商品管理列表(商品默认同步到下架列表中) 后台商品管理下架列表显示已同步商品。5.店铺信息修改完成后,可以开始采集商品,采集时弹窗中会自动识别当前平台及商品链接,分类和相册名称可以自定义 编辑修改。4. 打开采集目标站商品页面,点开谷歌浏览器扩展程序列表,找到Shopyy采集平台,打开配置页。打开弹窗中的“店铺管理”,添加店铺信息。

Jernnifer_mao的博客 1378

(3) PyQt5 实现漂亮进度条 ProgressBar

一、效果展示 二、使用Designer设计UI 1、添加背景Frame 添加Frame,并设置样式。设置样式示例: QFrame { background-color: rgb(56, 58, 89); color: rgb(220, 220, 220); border-radius: 10px; } 2、添加文本框Text Edit 3、添加进度条Progress UI界面到此基本Ok。 三、编写py代码实现 1、将ui编译成py...

记录项目交付的日常 1万+

碳酸钙岩石酸蚀酸溶COMSOL建模:非均质对酸蚀通道的影响

多孔介质中的流动与化学反应耦合是石油工程和地下资源开发中的核心问题,酸液与岩石矿物的溶蚀过程直接关系到酸化增产效果。在碳酸盐岩储层中,盐酸与方解石的反应速率极快,酸液会优先沿高渗透区域推进,形成指状酸蚀通道,即wormhole。传统均质模型难以描述这种局部溶蚀行为,而数值模拟工具COMSOL通过耦合达西定律、稀物质传递与孔隙度演化方程,能够定量刻画酸蚀路径与渗透率的变化规律。工程实践中,模拟结果可用于预测酸液突破体积、优化注入排量,并为基质酸化方案设计提供依据。本文围绕碳酸钙岩石酸蚀酸溶COMSOL模型,探

weixin_29009401的博客 328

PyQt 实现漂亮进度条 ProgressBar

PyQt 实现漂亮进度条 ProgressBar 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了一个名为 3 PyQt 实现漂亮进度条 ProgressBar.zip 的资源文件,该文件包含了使用 PyQt 框架实现的漂亮进度条(ProgressBar)的源代码和相关资源。通过这个资源文件,您可以学习如何使用 PyQt 创建自定义的进度条,并将其应用到您的项目...

gitblog_09778的博客 380

手把手教你学simulink实例--基于Simulink的船舶动力装置性能评估与仿真

船舶动力装置是船舶运行的核心系统,其性能直接影响船舶的安全性、经济性和环保性。基于MATLAB/Simulink平台进行船舶动力装置性能评估与仿真是研究和优化船舶动力系统的重要手段。通过建模与仿真,可以分析动力装置在不同工况下的性能表现,并验证控制策略的有效性。本项目旨在构建一个完整的船舶动力装置性能评估与仿真模型,包括发动机建模、传动系统建模、负载分析以及性能评估模块,并通过仿真分析其动态响应和性能指标。

MHD0815的博客 972

AI上推荐 之 多任务loss优化(自适应权重篇)

1. 写在前面 在多任务学习中,往往会将多个相关的任务放在一起来学习。例如在推荐系统中,排序模型同时预估候选的点击率和浏览时间。相对于单任务学习,多任务学习有以下优势: 多个任务共享一个模型,占用内存量减少; 多个任务一次前向计算得出结果,推理速度增加; 关联任务通过共享信息,相互补充,可以提升彼此的表现。 前面的一篇文章,主要是从模型结构的角度聊了下多任务学习,介绍了工业界非常经典也常用的MMOE模型,然而,对于多任务学习, Loss的优化也非常重要, 因为我们知道通过多个目标去指导网络进行统一的训练

Miracle8070 1万+

几行代码就能实现漂亮进度条,太赞了!

文 |闲欢来源:Python 技术「ID: pythonall」作为程序员,我们经常会遇到比较耗时的操作,这个时候我们大多数人会无助地等待程序执行完成,有些人会趁机摸一下鱼,以便渡过这个...

weixin_48923393的博客 366

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3596

Python 可轻松实现酷炫进度条,这3种方法的确很实用

大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况。 除了使用 print 来打印之外,今天本文我来给大家介绍几种酷炫的进度条的方式。喜欢记得收藏、关注、点赞。 1、自定义ProgressBar 最原始的办法就是不借助任何第三方工具,自己写一个进度条函数,使用time模块配合sys模块即可 import sys import time def progressbar(it, prefix="", size=60, file=sys.stdout):

Python学习与数据挖掘 6245

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python实现进度条的方法和实现代码

在Python中,有多种方式可以实现进度条。这里,我将介绍七种常见的方法:使用tqdm(这是一个外部库,非常流行且易于使用)、rich、click、progressbar2等库以及纯Python的print函数与time库来模拟进度条。

Python,数据分析,机器学习,深度学习 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python文本进度条代码解释_python动态文本进度条的实例代码

python动态文本进度条的实例代码如何实现动态单行刷新,答案是——覆盖但是怎么实现覆盖呢关键在于不换行而且能回退到开始位置那么就要用到 \r这个东西就是让光标回退到当前行初始位置记得不能让换行上码#文本进度条.pyimport timescale = 50print("执行开始".center(scale, "-"))//居中对齐start = time.perf_counter()//获取起始...

weixin_39559469的博客 1162

python 进度条错位_Python进度条实时显示处理进度的示例代码

前言在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理进度,由此来决定接下来该做些什么。接下来告诉大家如何简单又漂亮的实现这一功能。如何使用这个类使用这个类很简单,只需要三步即可完成,如下:process_bar = ShowProcess(max_steps) # 1.在循环前定义类的实体, max_steps是总的步数for i in range(max_ste...

weixin_42443651的博客 198

六种酷炫Python运行进度条

用 PySimpleGUI 得到图形化进度条,我们可以加一行简单的代码,在命令行脚本中得到图形化进度条,也是使用pip进行下载,代码案例如下。print(“\n”+“执行结束,万幸”.center(scale // 2,“-”))相关文档:https://pypi.org/project/progress/1.5/这是一个专门生成进度条的工具包,可以使用pip在终端进行下载,当然还能切换进度条风格。你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条即可,具体代码案例如下。# 里面存一个可迭代对象。

w5jaLw的博客 861

python进度条tqdm的介绍及常用方法

一、介绍 Tqdm 是一个快速,可扩展的 Python 进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。 总之,它是用来显示进度条的,很漂亮,使用很直观(在循环体里边加个tqdm),而且基本不影响原程序效率。名副其实的“太强太美”了!这样在写运行时间很长的程序时,是该多么舒服啊! GIF图看一下实际效果: 二、安装 Tqdm 使用 pip 就可以安装:pip install tqdm 三、使用 使用方法一: tqdm tqdm(list

python学习者的博客 1737

Better Python - 使用tqdm制作进度条

Better Python - 使用tqdm制作进度条 安装 使用场景 Better Python - 使用tqdm制作进度条 安装 pip install tqdm 使用场景 from tqdm import tqdm for i in tqdm(range(10000)): sleep(0.01) 是不是很漂亮 版权声明:转载...

AIGC搞起 1405

Python的Tqdm模块——进度条配置

From:https://blog.youkuaiyun.com/qq_33472765/article/details/82940843 tqdm官网地址:https://pypi.org/project/tqdm/ Github地址:https://github.com/tqdm/tqdm 简介 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一...

豆芽菜 1756

给Python代码加上酷炫进度条的几种姿势

最原始的办法就是不借助任何第三方工具,自己写一个进度条函数,使用time模块配合sys模块即可import sysshow(0)yield itemshow(i+1)自己定义的好处就是可以将进度条定义成我们想要的形式比如上面就是使用#与·来输出,为什么不用print?因为sys.stdout就是print的一种默认输出格式,而sys.stdout.write()可以不换行打印,sys.stdout.flush()可以立即刷新输出的内容。当然也可以封装成类来更好的使用[1] ,但效果是类似的。

Python栈_基的博客 1255

python下载文件带进度条_给Python代码加上酷炫进度条的几种姿势

大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。自定义ProgressBar最原始的办法就是不借助任何第三方工具,自己写一个进度条函数,使用time模块配合sys模块即可import sysimport timedef progressbar(it,...

weixin_39943678的博客 588

tqdm 显示进度_进度条还能搞出这么多花样,太有趣了!

前言:在日常编程工作需要一些进度条来监测程序的运行情况。这样不仅可以直观的看到程序的运行情况,而且方便寻找Bug。最受欢迎的进度条最近写的代码中很多函数都是按步骤调用的,想看代码执行到第几个函数了,但又不想用print(1),这时候就想用进度条来显示了,参考了下网上写了它但这样看起来实在是太不好看了!手动基本款我们也可以借助开源的第三方库来实现这个想法,从而达到进度可视化的效果。Tqdm 是一个快...

weixin_32597695的博客 1292
上一篇: 事半功倍,必看这4个Pandas神器!
下一篇: 深入剖析PyPy,解锁Python比C还快的秘诀
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值