wordpress博客站点,ppt模板免费下载 素材教学,做一个京东网站怎么做,企业查询哪个软件是免费的本篇文章小编给大家分享一下Python实现给下载文件显示进度条和下载时间代码#xff0c;文章代码介绍的很详细#xff0c;小编觉得挺不错的#xff0c;现在分享给大家供大家参考#xff0c;有需要的小伙伴们可以来看看。
该模块调用了三个库#xff1a;
1.os
2.requests
3.…本篇文章小编给大家分享一下Python实现给下载文件显示进度条和下载时间代码文章代码介绍的很详细小编觉得挺不错的现在分享给大家供大家参考有需要的小伙伴们可以来看看。
该模块调用了三个库
1.os
2.requests
3.time
代码如下
# 进度条模块
def progressbar(url,path):
if not os.path.exists(path): # 看是否有该文件夹没有则创建文件夹
os.mkdir(path)
start time.time() #下载开始时间
response requests.get(url, streamTrue) #streamTrue必须写上
size 0 #初始化已下载大小
chunk_size 1024 # 每次下载的数据大小
content_size int(response.headers[content-length]) # 下载文件总大小
try:
if response.status_code 200: #判断是否响应成功
print(Start download,[File size]:{size:.2f} MB.format(size content_size / chunk_size /1024)) #开始下载显示下载文件大小
filepath path\name.extension name #设置图片name注必须加上扩展名
with open(filepath,wb) as file: #显示进度条
for data in response.iter_content(chunk_size chunk_size):
file.write(data)
size len(data)
print(\r[下载进度]:%s%.2f%% % (*int(size*50/ content_size), float(size / content_size * 100)) ,end )
end time.time() #下载结束时间
print(Download completed!,times: %.2f秒 % (end - start)) #输出下载用时时间
except:
实现原理其实很简单我们一般下载东西使用的requests.get(url).content的方法下载来的文件是二进制文件我们只要通过for循环每次下载1024kb到最后获取文件的总大小即可完成。
通过上面这个函数我们就实现了简单的进度条以及所需时间的功能我们用了两个参数我们下载个皮卡丘图片来试试效果效果还不错~~注[下载进度]后面的‘是有动态显示的这里可能看不到可以在自己的环境下测试看看
实例代码
import os
import requests
import time
# 进度条模块
def progressbar(url,path):
if not os.path.exists(path): # 看是否有该文件夹没有则创建文件夹
os.mkdir(path)
start time.time() #下载开始时间
response requests.get(url, streamTrue)
size 0 #初始化已下载大小
chunk_size 1024 # 每次下载的数据大小
content_size int(response.headers[content-length]) # 下载文件总大小
try:
if response.status_code 200: #判断是否响应成功
print(Start download,[File size]:{size:.2f} MB.format(size content_size / chunk_size /1024)) #开始下载显示下载文件大小
filepath path\Pikachu.jpg #设置图片name注必须加上扩展名
with open(filepath,wb) as file: #显示进度条
for data in response.iter_content(chunk_size chunk_size):
file.write(data)
size len(data)
print(\r[下载进度]:%s%.2f%% % (*int(size*50/ content_size), float(size / content_size * 100)) ,end )
end time.time() #下载结束时间
print(Download completed!,times: %.2f秒 % (end - start)) #输出下载用时时间
except:
print(Error!)
def main():
#下载皮卡丘图片url https://img.moegirl.org/common/thumb/e/ed/%E7%9A%AE%E5%8D%A1%E4%B8%98%E4%B9%8B%E6%AD%8C.jpg/1200px-%E7%9A%AE%E5%8D%A1%E4%B8%98%E4%B9%8B%E6%AD%8C.jpg
path rE:\123 # 设置下载到本地的地址
progressbar(url,path)
if __name__ __main__:
main()