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

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

大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。

图片

自定义ProgressBar

最原始的办法就是不借助任何第三方工具,自己写一个进度条函数,使用time模块配合sys模块即可

import sys
import time

def progressbar(it, prefix="", size=60, file=sys.stdout):
    count = len(it)
    def show(j):
        x = int(size*j/count)
        file.write("%s[%s%s] %i/%i\r" % (prefix, "#"*x, "."*(size-x), j, count))
        file.flush()        
    show(0)
    for i, item in enumerate(it):
        yield item
        show(i+1)
    file.write("\n")
    file.flush()

    
for i in progressbar(range(15), "Computing: ", 40):
    do_something()
    time.sleep(0.1)

图片

自己定义的好处就是可以将进度条定义成我们想要的形式比如上面就是使用#与·来输出,为什么不用print?因为sys.stdout就是print的一种默认输出格式,而sys.stdout.write()可以不换行打印,sys.stdout.flush()可以立即刷新输出的内容。当然也可以封装成类来更好的使用[1] ,但效果是类似的。

from __future__ import print_function
import sys
import re


class ProgressBar(object):
    DEFAULT = 'Progress: %(bar)s %(percent)3d%%'
    FULL = '%(bar)s %(current)d/%(total)d (%(percent)3d%%) %(remaining)d to go'

    def __init__(self, total, width=40, fmt=DEFAULT, symbol='=',
                 output=sys.stderr):
        assert len(symbol) == 1

        self.total = total
        self.width = width
        self.symbol = symbol
        self.output = output
        self.fmt = re.sub(r'(?P<name>%\(.+?\))d',
            r'\g<name>%dd' % len(str(total)), fmt)

        self.current = 0

    def __call__(self):
        percent = self.current / float(self.total)
        size = int(self.width * percent)
        remaining = self.total - self.current
        bar = '[' + self.symbol * size + ' ' * (self.width - size) + ']'

        args = {
            'total': self.total,
            'bar': bar,
            'current': self.current,
            'percent': percent * 100,
            'remaining': remaining
        }
        print('\r' + self.fmt % args, file=self.output, end='')

    def done(self):
        self.current = self.total
        self()
        print('', file=self.output)
        
from time import sleep

progress = ProgressBar(80, fmt=ProgressBar.FULL)

for x in range(progress.total):
    progress.current += 1
    progress()
    sleep(0.1)
progress.done()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

tqdm

之前我们说了,自定义的好处就是可以自己修改,那么使用第三方库的好处就是可以偷懒,不用自己写,拿来就能用。比如提到Python进度条那肯定会想到常用的tqdm,安装很简单pip install tqdm即可,使用也很简单,几行代码即可实现上面的进度条

from tqdm import trange
import time
for i in trange(10): 
    time.sleep(1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当然tqdm作为老牌的Python进度条工具,循环处理、多进程、多线程、递归处理等都是支持的,你可以在官方GitHub上学习[2] 、解锁更多的玩法。

Rich

上面两种实现Python进度条的方法都学会了吗,虽然简单但是看上去并不漂亮,颜色也比较单调。所以最后压轴出场的就是一款比较小众的第三方库Rich[3] 。Rich主要是用于在终端中打印丰富多彩的文本(最高支持1670万色)

图片

所以当然可以使用Rich打印进度条,显示完成百分比,剩余时间,数据传输速度等都可以。并且样式更加酷炫,并且它是高度可配置的,因此我们可以对其进行自定义以显示所需的任何信息。使用也很简单,比如我们使用Rich来实现一个最简单的进度条

from rich.progress import track
import  time

for step in track(range(30)):
    print('早起Python')
    time.sleep(0.5)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同时Rich支持多个进度条,这在多任务情况下监控的进度很有用(使用方法见官方文档)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方优快云官方认证二维码或者点击链接免费领取【保证100%免费】

Python制作进度条 超级多的方式 你知道几种? 进度条: 如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。 下文将介绍 4 个常用的 Python 进度条库: Progress 第一个要介绍的 Python 库是 Progress。 你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条。 import timefrom progress.bar import IncrementalB 阅读详情

相关推荐

基于STM32F407ZGT6与INMP441的I2S音频采集系统:从配置到实时波形显示

本文详细介绍了基于STM32F407ZGT6与INMP441麦克风模块的I2S音频采集系统设计与实现。从硬件选型、CubeMX配置到音频数据处理和上位机波形显示,全面解析了系统架构、DMA传输优化及常见问题解决方案,帮助开发者快速构建高精度音频采集系统。

weixin_33743661的博客 403

python实现进度条progress-bar的4种方法

实现进度条progress-bar的4种方法:不同的实现方法,可能调用不同的第三方库(progressbar,tqdm),下面介绍以下方法。 (一): import time for i in range(0, 101, 2): time.sleep(0.1) num = i // 2 if i == 100: process = "\r[%3s%%]: |%-50s|\n" % (i, '|' * num) else: process = "

qq_51522539的博客 8041

SoC芯片时钟树优化实战:如何用分段CTS解决DDRPHY与Memory Controller的时序难题

本文深入探讨了SoC芯片时钟树优化中的分段CTS技术,重点解决DDRPHY与Memory Controller之间的时序难题。通过分析多域时钟架构的复杂性,提出三级分段CTS策略,并结合28nm移动SoC实战案例,展示如何通过Guide Buffer插入和本地段重构实现72%的跨域偏差改善。文章还涵盖5nm以下工艺的线阻变异、热梯度效应等特殊考量,为数字IC设计提供时钟树综合的高阶解决方案。

kkk56的博客 905

小工具|Python进度条模块Progressbar

Python进度条模块Progressbar 今天突然被问了一个问题:程序在执行中很久不结束是怎么回事?看不到程序执行的进度,在我们进行大工程的时候的确是一件很头疼的事,本文让我们来了解一个很常用的进度条展示小工具——Progressbar。 注:最新版的使用者不要照着GitHub上的官方文档去操作,文档信息没有维护,会出现很多问题。 下载模块 pip install progressb...

二哥为啥不像程序员? 3282

《21天学通C++》阶段性成果测试题——hstring(手写string类)

总体考察了类的使用,缓冲区考察了指针和数组的使用、增删改查、考察编码思维、考察了类的重载。1.初始化子字符串的起始位置为-1,表示未找到,若buffer或findHstring为空,则返回-1。右边的字符串不为空,则分别获取母串和子串的长度(用循环),然后创建一个固定大小的数组。3.然后循环遍历寻找子串在母串中的起始位置,循环时可以通过两个长度相减,避免循环越界。2.如都不为空,则分别获取双方的字符串长度(用循环),然后。右边的字符串为空,则输出原来的字符串。是否为空,有一方为空则返回另一方。

立志成为炼丹师? 1265

高温环境下(100℃以上)相机的几种保障方案

高温环境下相机保障措施摘要:针对120℃以上高温环境,相机需采取多重防护:1.散热设计采用金属机身、散热鳍片或风扇;2.关键部件选用耐高温材料(铝合金、特种玻璃);3.电子元件需军规级芯片并做三防处理;4.建议外接电源或耐高温电池。工业相机(如FLIR A655sc、Basler ace)及特种机型(Ximea xiQ)具备高温适应性,普通相机可加装隔热套件配合冷却系统。选择时需关注传感器信噪比和全局快门性能,并设置温度监控保护机制。注意高温会加速设备老化,需定期检测维护。(149字)

start_up_go的博客 1586

python模块详解 | progressbar

python模块详解 | progressbar

weixin_46474546的博客 1059

MIKE水动力笔记5_建立水动力模型

前文已经讲了如何制作网格文件(.mdf文件),这一博文就讲如何建立水动力模型。

晏长街的博客 3万+

Python 实现进度条的六种方式

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

m0_61369275的博客 4711

手把手教你从入门到精通C# MES通信

本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!

qq_34059233的博客 8749

VictoriaMetrics | 云原生监控新宠: 使用 vmagent 工具采集 VM 集群指标实战

摘要:本文介绍了vmagent工具的安装部署及配置实践,该工具是VictoriaMetrics官方提供的指标采集组件,支持兼容Prometheus指标采集与转发。文章详细讲解了从二进制方式部署vmagent的步骤,包括下载安装、创建运行环境、配置systemd服务等过程。通过8429端口可查看采集状态,并演示了将Prometheus配置迁移到vmagent的方法。vmagent可实现远程写入VictoriaMetrics集群,为云原生监控提供高效解决方案。

全栈工程师修炼指南-IT知识分享 446

python之Rich库使用入门(打印彩色字体,表单,进度条与状态动画,高级数据类型)

文章目录前言一、Rich是什么?二、使用步骤1.Rich安装2.读入数据总结 前言 最近发现了一款非常强大的python第三方库——Rich 这款库主要用于终端打印 一、Rich是什么? Rich是一个Python库,用于将丰富的文本(带有颜色和样式)写入终端,并用于显示高级内容,例如表格。 使用Rich使您的命令行应用程序更具视觉吸引力,并以更具可读性的方式呈现数据。Rich还可以通过漂亮的打印和语法突出显示数据结构来作为有用的调试辅助工具。 二、使用步骤 1.Rich安装 直接pip就好了 pip

qq_43954124的博客 3万+

【MATLAB代码】TDOA+TOA融合算法,高精度定位。通过多边定位解算4个锚点、平面目标的位置,附代码

二维平面下的TOA、TDOA及混合定位算法,通过4个锚节点对目标点进行定位。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 211

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

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

weixin_39616003的博客 2243

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

动态的给python添加进度条_给Python代码加上酷炫进度条的几种姿势

原标题:给Python代码加上酷炫进度条的几种姿势 作者 | 刘早起来源 | 早起Python(ID: zaoqi-python)大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。 自定义ProgressBar最原始的办法就是不借助任何第三方工具,自己...

weixin_39591386的博客 276

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

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

weixin_39578457的博客 124

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python 进度条 多线程_给Python代码加上酷炫进度条的几种姿势

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

weixin_29430691的博客 1831

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

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

weixin_34020067的博客 958

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

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

weixin_39943678的博客 588

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

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

Python学习与数据挖掘 6245

六种酷炫Python运行进度条

本文介绍了目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:1097524789 1.普通进度条 2.带时间进度条 3.tpdm进度条 4.progress进度条 5..

Python学习Q群696455390 3116

python写代码酷炫插件_介绍几种给你的Python代码加上酷炫的进度条的方式

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。自定义ProgressBar最原始的办法就是不借助任何第三方工具,自己写一个进度...

weixin_30969227的博客 484

tqdm 显示进度_介绍几种给你的Python代码加上酷炫的进度条的方式

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。自定义ProgressBar最原始的办法就是不借助任何第三方工具,自己写一个进度...

weixin_39943370的博客 260
上一篇: 原理+代码|手把手教你使用Python实战反欺诈模型
下一篇: 力荐!Python的14张思维导图
壹只小小码农
博客等级 码龄5年 8101粉丝 1334原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值