1. 什么是Tqdm
在日常工作和学习中,经常需要观察当前任务的执行进度,尤其是一个执行时间很长的任务,如果能够有进度条实时的显示当前的任务进度,那么将非常方便。
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。总之,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)
手动更新进度
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()
定制进度描述信息
from tqdm import tqdm
import time
message = list('python')
bar = tqdm(message)
for x in bar:
time.sleep(1)
# 定制进度条秒速信息
bar.set_description(f'当前获取内容 {x}')
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神器!
学会了吗,学会了就赶紧操练起来吧~文章来源:https://www.toymoban.com/news/detail-501608.html
更多技术类干货,关注我!源码、配套学习资料等,可戳这里获得文章来源地址https://www.toymoban.com/news/detail-501608.html
到了这里,关于一个被忽视的Python神器 - Tqdm的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!