(后续待更新...)

使用 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()

下载进度

执行过程:

最新文章

  1. tyvj1202 数数食物链
  2. Main函数 &amp; Autoreleasepool
  3. VBA中练习ADO:ActiveX Data Object
  4. springmvc企业级开发实战
  5. hdu oj Period (kmp的应用)
  6. MySQL 备份和恢复
  7. jQuery DataTables Plugin Meets C#
  8. ThinkPHP页面跳转、Ajax技巧详细介绍(十八)
  9. IIS 5.x/6.0/7.0 和 ASP.NET
  10. mac下安装composer
  11. 微信小程序之----问题
  12. cityEngine入门(实现数据的预处理以及cityEngine的3维显示)
  13. 响应式布局—设备像素密度测试 (-webkit-min-device-pixel-ratio)
  14. Elasticsearch java api 常用查询方法QueryBuilder构造举例
  15. windows----------telnet不是内部命令问题
  16. Django的url控制器
  17. 【Guava】使用Guava的RateLimiter做限流
  18. vim配置go语法高亮
  19. 常量(const)和只读变量(readonly)
  20. PAT A1144 The Missing Number (20 分)——set

热门文章

  1. 1.Java语言基础
  2. python自带性能强悍的标准库 itertools
  3. 04 - Vue3 UI Framework - 文档页
  4. Linux下安装数据库sqlite3
  5. [BUUCTF]PWN——ciscn_2019_s_4
  6. Mac 远程上传文件到 Linux
  7. Java abstract 抽象类 和interface接口的异同点
  8. 如何获得Spring容器里管理的Bean,。不论是Service层,还是实体Dao层
  9. IO复用的三种方法(select,poll,epoll)深入理解
  10. PHP伪协议-文件包含