from tqdm import tqdm#导入相应的方法
for i in tqdm(range(10000)):#tqdm()方法
pass
只需要引入tqdm方法,然后使用将可迭代(iterable)的对象传入tqdm()方法即可。
复杂一点的用法如下:
with tqdm(total=100) as pbar:#tqdm方法设置进度条长度
for i in range(10):
sleep(0.1)
pbar.update(10)#手动更新进度
2.2 requests
2.2.1 get
本文获取文件长度通过requests.get()方法。Requests.get()方法当stream=True的时候,get()方法只下载Header部分,如果要下载Body部分,需要读取content属性才会下载。所以我们可以利用这一点来完成对视频图片的下载监控。获取文件大小的方法如下:
response=requests.get(img_url,stream=True)
file_size=response.headers['Content-length']
2.2.2 iter_content
Iter_content方法用于分块读取get()方法返回的流,避免因一次性读取消耗大量内存。
3.为视频图片下载添加进度条
完整的代码如下:
import requests
import tqdm
img_url='http://122.51.50.206:8088/imgs/63943f53ly1gjgojmh9zaj222o0yi7wq.jpg'
response=requests.get(img_url,stream=True)
file_size=response.headers['Content-length']
print(file_size)
pbar=tqdm.tqdm(total=int(file_size),unit='B',unit_scale=True,desc=img_url.split('/')[-1])
with(open('1.jpg','wb')) as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
pbar.update(1024)
pbar.close()
步骤如下: (1) 获取Header (2) 读取Header中的Content-length字段得到文件大小 (3) 初始化tqdm (4) 分块读取文件并更新进度条 (5) 关闭进度条
最后,欢迎持续关注。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!