一个被忽视的Python神器 - Tqdm

这篇具有很好参考价值的文章主要介绍了一个被忽视的Python神器 - Tqdm。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 什么是Tqdm

在日常工作和学习中,经常需要观察当前任务的执行进度,尤其是一个执行时间很长的任务,如果能够有进度条实时的显示当前的任务进度,那么将非常方便。

Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。总之,Tqdm是用来显示进度条的,很漂亮,使用很直观,而且基本不影响原程序效率。

一个被忽视的Python神器 - Tqdm

2.安装Tqdm

Tqdm不是Python的标准库,使用之前需要先安装。

pip install tqdm

如果你使用的Anaconda

conda install -c conda-forge tqdm

3. Tqdm基本用法

基于迭代类型

# 导入tqdm
from tqdm import tqdm
# 导入时间模块
import time

# 在循环中使用tqdm构建迭代对象
for x in tqdm(range(100)):
    # 模拟任务执行过程
    time.sleep(0.5)

一个被忽视的Python神器 - Tqdm

手动更新进度

from tqdm import tqdm
import time

# 常见进度条对象,设置总进度值为100

bar = tqdm(total=100)

for x in range(100):
time.sleep(0.5)
\# 每次循环当前进度值增加10
bar.update(10)

# 注意:使用完成后必须关闭进度条!!!!

bar.close()

一个被忽视的Python神器 - Tqdm

定制进度描述信息

from tqdm import tqdm
import time

message = list('python')
bar = tqdm(message)
for x in bar:
    time.sleep(1)
    # 定制进度条秒速信息
    bar.set_description(f'当前获取内容 {x}')

一个被忽视的Python神器 - Tqdm

4. 英雄联盟皮肤下载实例

下面使用requests下载所有英雄皮肤,然后通过tqdm来显示下载进度。

import requests
from tqdm import tqdm
import os

def get_all_hero_id():
    """获取所有英雄的英雄id"""
    response = requests.get('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js')
    result = response.json()
    hero_id_list = [x['heroId'] for x in result['hero']]
    return hero_id_list

def get_one_hero_skins(hero_id):
    """下载一个英雄所有皮肤"""
    url = f'https://game.gtimg.cn/images/lol/act/img/js/hero/{hero_id}.js'
    result = requests.get(url).json()
    bar = tqdm(result['skins'])
    for x in bar:
        # 1. 获取每个皮肤的相关信息

        hero_name = x['heroName']
        skin_name = x['name']
        bar.set_description(f'{hero_name}的皮肤正在下载')
        skin_url = x['mainImg']
        if not skin_url:
            skin_url = x['chromaImg']

        # 2. 创建英雄名称对应的文件夹
        path = f'./{hero_name}'
        if not os.path.exists(path):
            # 不存在就创建对应的文件夹
            os.mkdir(path)

        # 3. 下载皮肤对应的图片
        img_data = requests.get(skin_url).content
        with open(path+f'/{skin_name}.jpg', 'wb') as f:
            f.write(img_data)
            

if __name__ == '__main__':
    # 1. 获取所有英雄的英雄id
    ids = get_all_hero_id()

    # 2.遍历拿到每个英雄的id,拼接对应的皮肤接口地址
    for x in ids:
        her_name = get_one_hero_skins(x)

一个被忽视的Python神器 - Tqdm


以上就是我们本篇的全部内容了,这篇为大家讲解了这个能显示进度条的python神器!
学会了吗,学会了就赶紧操练起来吧~

更多技术类干货,关注我!源码、配套学习资料等,可戳这里获得文章来源地址https://www.toymoban.com/news/detail-501608.html

到了这里,关于一个被忽视的Python神器 - Tqdm的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DBA 职责及日常工作职责

    DBA 职责及日常工作职责:     1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境.     2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案.     3.根据开发人员设计的应用系统需求创建数据库存储结构.     4.根据开发人员设计的应用系

    2024年02月15日
    浏览(31)
  • 软件测试人员每天的工作日常

    我现在每天9点左右从家里出发,9点半左右到公司,到公司之后,首先用养生壶煮一壶好茶,工作忙碌时也要记得多喝水,然后一边听着煮茶声一边写着当天的工作计划,工作计划主要包括当天工作内容、学习计划和总结。 计划并不是每天都能完成,在工作结束之后根据实际

    2024年02月12日
    浏览(30)
  • 大数据工程师的日常工作内容是干嘛?

    本文来源:知乎 大家好,我是脚丫先生 (o^^o) 最近小伙伴们,有问到大数据工程师岗位平常的日常工作都是干嘛的? 大数据或者说想入门大数据,技术肯定是第一重要的,不会大数据的技术谈什么大数据。那么大数据的技术怎么学,要知道大数据是依赖Java的,首先要保证J

    2023年04月16日
    浏览(28)
  • 日常工作中常用的抓包工具都有哪些呢?

    大家好,今天我们一起来聊聊,在我们的日常工作中都有哪些抓包工具呢?你们平时工作中都在哪一款工具呢?一起学习交流。 一、Wireshark 这款抓包工具目前是使用最多的,分析网络交互非常方便 二、Fiddler,多数是使用在抓包手机的相关网络交互的网络包,目前也是非常流

    2024年01月20日
    浏览(41)
  • 【主流技术】日常工作中关于 JSON 转换的经验大全(Java)

    目录 前言 一、JSON 回顾 1.1结构形式 二、其它类型 - JSON相关 2.1 JavaBean 转 JsonObject 2.2 JavaBean 转 Json 字符串 2.3 List 转 JsonArray 2.4 List 转Json 字符串 2.5Map 转 Json 字符串 三、JSON 相关 - 其它类型 3.1 Json 字符串转 JavaBean 3.2 Json 字符串转 JsonObject 3.3 Json 字符串转 List 3.4Json字符串转M

    2024年03月11日
    浏览(31)
  • redis在日常开发工作中的常见用法

    redis是一款内存型数据库,在开发工作中经常用到,功能强大; 特别开一篇文章用来记录一下它的常见用法,算是一种总结; 它最主要的特点就是高可用的,速度快,分布式;有人说速度快,能有我本地的全局静态变量快?但是在大型的项目中,多个服务器部署时,其他服务

    2024年02月09日
    浏览(26)
  • ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅

    在数字化快速发展的当下,人工智能技术已经成为我们不可或缺的一部分。特别是在信息过载的时代,AI 如 ChatGPT 等工具能够帮助我们更高效地处理信息,提升生活和工作质量。本文旨在探讨 ChatGPT 在不同领域的实用性,以及介绍一个集成了多种AI工具的平台——Hulu AI,它可

    2024年04月13日
    浏览(31)
  • Sqoop【实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)

    1️⃣ 查看所有命令【 sqoop help 】 2️⃣ 查看某条命令的具体使用方法【 sqoop help COMMAND 】 查询MySQL所有数据库,通常用于 Sqoop 与 MySQL 连通测试: 【具体参数可以使用 sqoop help list-databases 查看】实例: 结果: 【2个】WARN处理: 查询指定数据库中所有数据表,这里要注意一下

    2024年03月18日
    浏览(38)
  • yolov5训练加速--一个可能忽视的细节(mmdetection也一样),为什么显卡使用率老是为0?

    本文仅讨论节省图片加载时间问题,这里面可能有一些容易忽视的细节。yolov5的训练参数里面有一个--cache,默认是ram,就是把解码后的图片保存在内存中。也可以是disk,就会把解码后的图片保存在硬盘上。  解码后的图片就是numpy数组啦,保存为.npy文件  这里可能有一个问

    2024年02月04日
    浏览(64)
  • 卧槽,发现一个Python技术变现神器!

    最近收到了很多朋友的留言,几乎全是关于爬虫与逆向破解技术的问题咨询。包括小程序逆向、APP逆向、Web逆向、数据加密、加固解密、cookie防护突破、表单加密、动态签名加密、分包反编译在内的,爬虫逆向相关技术,不断地被无数人反复问及。 看得出,大家都迫切地想要

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包