Python3 requests文件下载 期间显示文件信息和下载进度代码实例
这篇文章主要介绍了Python3requests文件下载期间显示文件信息和下载进度代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
"""使用模块线程方式实现网络资源的下载
#实现文件下载,期间显示文件信息&下载进度
#控制台运行以显示进度
"""
importrequests
importos.pathasop
importos
fromsysimportstdout
defdownloadfile(url,filename):
"""下载文件并显示过程
:paramurl:资源地址
:paramfilename:保存的名字,保存在当前目录
"""
#print(url)
filename=filename+'.'+op.splitext(url)[-1]
file_to_save=op.join(os.getcwd(),filename)
#print(file_to_save)
withopen(file_to_save,"wb")asfw:
withrequests.get(url,stream=True)asr:
#此时只有响应头被下载
#print(r.headers)
print("下载文件基本信息:")
print('-'*30)
print("文件名称:",filename)
print("文件类型:",r.headers["Content-Type"])
filesize=r.headers["Content-Length"]
print("文件大小:",filesize,"bytes")
print("下载地址:",url)
print("保存路径:",file_to_save)
print('-'*30)
print("开始下载")
chunk_size=128
times=int(filesize)//chunk_size
show=1/times
show2=1/times
start=1
forchunkinr.iter_content(chunk_size):
fw.write(chunk)
ifstart<=times:
stdout.write(f"下载进度:{show:.2%}\r")
start+=1
show+=show2
else:
stdout.write("下载进度:100%")
print("\n结束下载")
if__name__=="__main__":
downloadfile("https://code.jquery.com/jquery-3.4.1.js","a")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。