初识python: 文件下载进度
2024-09-08 02:03:12
(后续待更新...)
使用 request 的 urlretrieve 方法创建“回调函数”: 下载进度
详细代码如下:
#!/user/bin env python
# author:Simple-Sir
# time:2019/8/8 21:00
# 下载进度
from urllib import request
import time def downPercent(blockNum,blockSize,totalSize):
'''
回调函数,下载进度
:param blockNum:已经下载的数据块
:param blockSize:数据块的大小
:param totalSize:要下载文件总大小
'''
downed = blockNum*blockSize/1024 # 已下载大小 kb
totalSize = totalSize/1024 # 总大小 kb
p = round(downed/totalSize*100,2) # 已下载百分比
downWait = totalSize-downed # 待下载大小 kb
if p>100:
p=100
if downWait<0:
downWait=0
nowtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print('{} 文件总大小:{}'.format(nowtime,totalSize))
print('{} 已下载:{}(\033[36;1m{}%\033[0m)'.format(nowtime,downed, p))
print('{} 待下载:{}(\033[31;1m{}%\033[0m)'.format(nowtime,downWait, round(100-p,2))) def download():
url = 'https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.27.0.msi' # mysql数据库下载
startTime = time.time()
request.urlretrieve(url,'mysql-installer-community-5.7.27.0.msi',downPercent)
endTime = time.time()
print('文件已下载完成!总用时:',time.strftime('%M:%S', time.localtime(endTime-startTime))) if __name__ == '__main__':
download()
下载进度
执行过程:
最新文章
- tyvj1202 数数食物链
- Main函数 &; Autoreleasepool
- VBA中练习ADO:ActiveX Data Object
- springmvc企业级开发实战
- hdu oj Period (kmp的应用)
- MySQL 备份和恢复
- jQuery DataTables Plugin Meets C#
- ThinkPHP页面跳转、Ajax技巧详细介绍(十八)
- IIS 5.x/6.0/7.0 和 ASP.NET
- mac下安装composer
- 微信小程序之----问题
- cityEngine入门(实现数据的预处理以及cityEngine的3维显示)
- 响应式布局—设备像素密度测试 (-webkit-min-device-pixel-ratio)
- Elasticsearch java api 常用查询方法QueryBuilder构造举例
- windows----------telnet不是内部命令问题
- Django的url控制器
- 【Guava】使用Guava的RateLimiter做限流
- vim配置go语法高亮
- 常量(const)和只读变量(readonly)
- PAT A1144 The Missing Number (20 分)——set
热门文章
- 1.Java语言基础
- python自带性能强悍的标准库 itertools
- 04 - Vue3 UI Framework - 文档页
- Linux下安装数据库sqlite3
- [BUUCTF]PWN——ciscn_2019_s_4
- Mac 远程上传文件到 Linux
- Java abstract 抽象类 和interface接口的异同点
- 如何获得Spring容器里管理的Bean,。不论是Service层,还是实体Dao层
- IO复用的三种方法(select,poll,epoll)深入理解
- PHP伪协议-文件包含