Skip to content

Python 3 url文件下载

更新:2022.8.17

1.添加剩余时间显示
2.更改进度条样式
3.优化代码, 方便调用、设置参数
4.添加width参数用于设置进度条宽度 默认40
下载中
下载完成
# 实例化
d = Downloader(headers, copy_buf_size, width)
# 设置headers
d.headers = headers
# 设置copy_buf_size(分块下载 块大小 B)
d.copy_buf_size = copy_buf_size
# 设置width
d.width = width

更新:2022.8.12

1.添加头部说明信息、作者
2.增加参数(有默认值)
   请求头headers
   分块大小length
3.更改进度条样式,支持显示下载速度
   update1:解决计算速度漏记读取时间
   update2:解决块不足、文件过小时速度值超高问题
4.更改返回值模式
5.添加判断请求返回状态码
6.添加处理响应头不包含文件大小的情况
7.添加显示参数类型
8.添加部分说明注释,解决bug

更新:2022.8.1

将函数包装到Downloader类中,输出文件大小为易读格式

调用:

先实例化Downloader,再调用download_file()方法

e.g.

from downloader import Downloader

d = Downloader()
d.download_file(url, path, redown)

更新:2022.7.8

支持输出文件大小


发布版:2022.7.8

依赖:

python 3.10.0

requests 2.28.1

参数:

url: 被下载文件的url
path: 保存路径 需要文件名和扩展名(e.g. “/home/user/test.txt” or “./png/test.png”)
redown: 是否询问重新下载已存在文件(0:询问 1:不重新下载 2:重新下载)
return: 成功:0 失败:1

效果图:

在这里插入图片描述

应用举例:

将所有代码保存在downloader.py中
在其他文件中使用

from downloader import download_file

引用下载函数,
然后使用download_file()下载url

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据