Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python tqdm显示代码任务进度

Python tqdm显示代码任务进度

作者头像
用户9925864
发布于 2022-07-27 00:46:11
发布于 2022-07-27 00:46:11
2K00
代码可运行
举报
运行总次数:0
代码可运行

有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。

tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理等进度展示。

安装tqdm

github地址:https://github.com/tqdm/tqdm

想要安装tqdm也是非常简单的,通过pip就可以安装,而且不需要安装其他的依赖库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

迭代对象处理

对于可以迭代的对象都可以使用下面这种方式,来实现可视化进度,非常方便

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)
    pass

在使用tqdm的时候,可以将tqdm(range(100))替换为trange(100)代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import tqdm,trange
import time

for i in trange(100):
  time.sleep(0.1)
  pass

通过tqdm提供的set_description方法可以实时查看每次处理的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import tqdm
import time

str = tqdm(["a", "b", "c"])
for c in str:
    time.sleep(1)
    str.set_description("Processing %s" % c)

手动设置处理的进度

通过update方法可以控制每次进度条更新的进度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import tqdm
import time

# total参数设置进度条的总长度
with tqdm(total=100) as pbar:
    for i in range(100):
        time.sleep(0.05)
        # 每次更新进度条的长度
        pbar.update(1)

自定义进度条显示信息

通过set_description和set_postfix方法设置进度条显示信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import trange
from random import random, randint
import time

with trange(100) as t:
    for i in t:
        # 设置进度条左边显示的信息
        t.set_description("GEN %i" % i)
        # 设置进度条右边显示的信息
        t.set_postfix(loss=random(), gen=randint(1, 999), str="h", lst=[0, 1, 2])
        time.sleep(0.1)

多层循环进度条

通过tqdm也可以很简单的实现嵌套循环进度条的展示

在pycharm中执行以上代码的时候,会出现进度条位置错乱,目前官方并没有给出好的解决方案,这是由于pycharm不支持某些字符导致的,不过可以将上面的代码保存为脚本然后在命令行中执行,效果如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tqdm import tqdm
import time

for i in tqdm(range(20), ascii=True, desc="1st loop"):
    for j in tqdm(range(10), ascii=True, desc="2nd loop"):
        time.sleep(0.01)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【说站】python自定义进度条显示信息
2、通过set_description和set_postfix方法设置进度条显示信息。将进度条显示的信息设定为中文时,不会出现乱码。
很酷的站长
2022/11/24
4810
【说站】python自定义进度条显示信息
python 三方库:tqdm实现进度条
在开发的过程中,我们总会遇到这样的,去实现进度条展示,那么如何来实现进度条呢,其实有一个模块已经给我们完成了--tqdm
雷子
2023/09/11
5400
python 三方库:tqdm实现进度条
python进度条显示-tqmd模块
安装 anaconda 是自动集成的 如果导入不存在,直接pip pip install tqdm 参数 #参数介绍 iterable=None, desc=None, 传入str类型,作为进度条标题(类似于说明) total=None, 预期的迭代次数 leave=True, file=None, ncols=None, 可以自定义进度条的总长度 mininterval=0.1, 最小的更新间隔 maxinterval=10.0, 最大更新间隔 miniters=None,
诡途
2020/10/16
1.7K0
python进度条显示-tqmd模块
python的Tqdm模块
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
狼啸风云
2019/09/19
4.5K0
(数据科学学习手札53)Python中tqdm模块的用法
  tqdm是Python中专门用于进度条美化的模块,通过在非while的循环体内嵌入tqdm,可以得到一个能更好展现程序运行过程的提示进度条,本文就将针对tqdm的基本用法进行介绍。
Feffery
2019/03/05
2K0
Python爬虫有用的库:tqdm
练习爬虫的小伙伴,在爬取数据比较多的时候,有时候等候的时间比较久一点,因为不知道具体的进度,可能会感到一丝丝无聊
远方的星
2021/08/11
9110
Python爬虫有用的库:tqdm
Python制作进度条,18种方式全网最全!(不全去你家扫厕所!)
需要注意的是,由于print函数在每次循环中都会输出进度信息,并且使用了\r来覆盖前一次的输出,所以在命令行或终端中运行时,你会看到进度条不断更新,直到达到100%并显示“下载完成!”的信息。然而,在某些IDE的内置控制台或某些特定环境下,\r的行为可能不符合预期,导致进度条无法正常显示或显示混乱。在这些情况下,可以尝试调整IDE的设置或使用其他方法来实现进度条的显示。
小白的大数据之旅
2024/11/20
9380
Python制作进度条,18种方式全网最全!(不全去你家扫厕所!)
【说站】python tqdm有哪些用法
2、观察处理的数据,每一次处理的数据都可以通过tqdm提供的set_description方法实时查看。
很酷的站长
2022/11/24
4370
【说站】python tqdm有哪些用法
python︱Python进程、线程、协程详解、运行性能、效率(tqdm)
笔者最近在实践多进程发现multiprocessing,真心很好用,不仅加速了运算,同时可以GPU调用,而且互相之间无关联,这样可以很放心的进行计算。
悟乙己
2019/05/26
1.4K0
针对tqdm和print的顺序问题
最近使用python的tqdm包的时候,当结合print语句的时候,发现了一些问题
Mezereon
2021/07/23
9000
为你的命令行工具添加牛逼哄哄的进度条
•自己使用time和sys模块结合循环实现•PyPrind[1] 526 star, 许久不更新了•python-progressbar[2] 353 star, 许久不更新了•progress[3] 850 star, 最后一次更新12个月前•tqdm[4] 14.8k star, 截止写文档还在更新•alive_progress[5] 610 star, 持续更新中•rich[6] 7k star, 持续更新中•rich并不单单局限于进度条,这是一个功能强大的命令行辅助,官方介绍: Rich is a Python library for rich text and beautiful formatting in the terminal•click_spinner[7] 157 star, 3个月前最后一次更新
追马
2020/07/03
1.5K0
用tqdm和rich为固定路径和目标的python算法代码实现进度条
在存在固定长度的算法中可以可视化算法执行的过程,比如对一个固定长度的数组的遍历,就是一种适合使用进度条来进行可视化的场景。而一些条件循环,比如while循环,不一定适合使用进度条来对算法执行过程进行可视化,典型的一个场景就是自洽的优化算法。
DechinPhy
2021/05/21
1.6K0
4个神奇的python库,数据科学神器!(附代码演练)
在本文中,我将分享4个鲜为人知的Python库,我觉得它们没有得到应有的关注度,这些库可以帮助你将Data Science项目提高到一个新的水平。让我们开始吧,介绍顺序是:
磐创AI
2023/08/29
3040
4个神奇的python库,数据科学神器!(附代码演练)
python的tqdm介绍
在Python编程中,经常需要追踪代码执行进度。可以使用tqdm库,它可以为循环和迭代器添加一个进度条,以便更好地了解代码执行的进度。
大盘鸡拌面
2023/10/10
3670
tqdm 单行刷新解决多行输出问题
在使用 tqdm 可视化处理进度时,遇到进度条多行输出的问题,使得输出界面很凌乱不美观。
kwai
2024/06/27
6820
python实现进度条功能
最近需要用python写一个小脚本"实现进度条功能",用到了一些小知识,赶紧抽空记录一下。不深但是常用。
测试加
2022/06/21
1.4K0
python实现进度条功能
Python - 进度条神器 tqdm 用法
程序运行过程中进度条显示特别重要,Python中使用tqdm库作为进度条操作工具,本文简要介绍tqdm常用功能。 背景 tqdm源自阿拉伯语 taqaddum,意思是进程( “progress”); 也是西班牙语中 “I love you so much” (te quiero demasiado)的缩写(这个是碰了巧了) 该模块的作用就是通过装饰tqdm(iterable)任何可迭代的对象,使代码中的循环(loop)在运行过程中为用户展示进度条。 盗了官网的图直观展示一下效果 准备工作
为为为什么
2022/08/04
2.1K0
Python - 进度条神器 tqdm 用法
python多进程打印进度条
import time from tqdm import tqdm import multiprocessing as mp def pickle_process(_class, *args): return _class.proc_func(*args) class OP(): def __init__(self): self.length = 64 def proc_func(self): time.sleep(0.1) def
JNingWei
2020/04/21
1.7K0
[917]python的tqdm模块——进度条配置
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
周小董
2020/12/29
2.2K0
Python 中的多种进度条实现方法
文本进度条是在命令行界面中显示的一种基本的进度展示方法。可以使用字符或符号来构建文本进度条。这种方式很最简单, 就是使用print实现。
不止于python
2023/10/24
1.1K0
Python 中的多种进度条实现方法
相关推荐
【说站】python自定义进度条显示信息
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验