利⽤Python展⽰⽂件下载进度条
⽬录
int数据类型占几个字节1、前⾔
2、requests
3、思考
1、前⾔
⼤家在⽤Python写⼀些⼩程序的时候,经常都会⽤到⽂件下载,对于⼀些较⼩的⽂件,⼤家可能不太在乎⽂件的下载进度,因为⼀会就下载完毕了。
但是当⽂件较⼤,⽐如下载chromedriver的时候,我们如果能够看到下载的进度条,那该多么友好。毕竟在npm,pip安装包的时候都有类似的进度条。
那笔者今天就给⼤家分享⼀个展⽰⽂件下载进度条的⽅法。
2、requests
我们要下载它,应该怎么做呢?
这⾥来写⼀下伪代码,⾮常好懂。
# 第⼀步: 访问这个链接
import requests
r = ("ius/")
# 第⼆步: 获取返回的⽂件内容,并写到本地
with open(r"./", "wb") as f:
python入门教程网盘f.t)
由于我这个⽂件很⼤,所以过程很漫长,我这边就不展⽰具体细节了。⼤家可以个⼏M的⼩⽂件试试。放上最终结果:
可以看到,执⾏完毕,⽂件也获取到了
3、思考
有没有觉得,这样下载⽂件很单调,我也不知道进度,⽐如下载了多少了,特别是针对⼤⼀点的⽂件,⼀直这样等着我以为他断开连接了呢。
如果咱们能在下载⽂件的时候,显⽰出进度条该多好,⽐如迅雷/百度⽹盘那样⼦的。
只需要安装⼀个库即可
要做到这些,我们只需要安装tqdm库就⾏了。
pip install tqdm
angular脏值检测原理下⾯是带注释的⽰例代码:
import requests
from tqdm import tqdm
def download(url: str, fname: str):
十进制转十六进制函数公式# ⽤流stream的⽅式获取url的数据
resp = (url, stream=True)
# 拿到⽂件的长度,并把total初始化为0
total = int(('content-length', 0))
# 打开当前⽬录的fname⽂件(名字你来传⼊)
# 初始化tqdm,传⼊总数,⽂件名等数据,接着就是写⼊,更新等操作了
with open(fname, 'wb') as file, tqdm(
desc=fname,
total=total,
unit='iB',
unit_scale=True,
unit_divisor=1024,
) as bar:
for data in resp.iter_content(chunk_size=1024):
size = file.write(data)
bar.update(size)velocity官方下载
if __name__ == "__main__":
# 下载⽂件,并传⼊⽂件名
url = "ius/"统计学样本量计算公式
download("ius/", "")
代码⽐较简单,tqdm的内容基本都是固定写法,⼤家不⽤疑惑,注意好requests等⾃⼰熟悉的部分就好。
我们来看看gif效果图,是不是狂炫酷霸吊炸天(别好奇我的cmd为何这么帅⽓,我是不会告诉你滴,除⾮你点赞):
到此这篇关于Python展⽰⽂件下载进度条的⽂章就介绍到这了,更多相关Python展⽰⽂件下载进度条
内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论