Python3 requests文件下载 期间显示文件信息和下载进度代码实例


Posted in Python onAugust 16, 2019

这篇文章主要介绍了Python3 requests文件下载 期间显示文件信息和下载进度代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

"""使用模块线程方式实现网络资源的下载
# 实现文件下载, 期间显示文件信息&下载进度
# 控制台运行以显示进度
"""
import requests
import os.path as op
import os
from sys import stdout


def downloadfile(url, filename):
  """下载文件并显示过程
  :param url: 资源地址
  :param filename: 保存的名字, 保存在当前目录
  """
  # print(url)
  filename = filename + '.' + op.splitext(url)[-1]
  file_to_save = op.join(os.getcwd(), filename)
  # print(file_to_save)

  with open(file_to_save, "wb") as fw:
    with requests.get(url, stream=True) as r:
      # 此时只有响应头被下载
      # 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
      for chunk in r.iter_content(chunk_size):
        fw.write(chunk)
        if start <= 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")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
WxPython建立批量录入框窗口
Feb 27 Python
详解如何设置Python环境变量?
May 13 Python
python 计算数据偏差和峰度的方法
Jun 29 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
opencv 实现特定颜色线条提取与定位操作
Jun 02 Python
Python实现弹球小游戏
Aug 01 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 #Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 #Python
Python Web框架之Django框架文件上传功能详解
Aug 16 #Python
基于 Django 的手机管理系统实现过程详解
Aug 16 #Python
python创建与遍历List二维列表的方法
Aug 16 #Python
python每天定时运行某程序代码
Aug 16 #Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 #Python
You might like
用PHP中的 == 运算符进行字符串比较
2006/11/26 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
javascript面向对象编程代码
2011/12/19 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
JS实现简单打字测试
2020/06/24 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
python数据处理实战(必看篇)
2017/06/11 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
洗发水广告词
2014/03/13 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
python基础之匿名函数详解
2021/04/21 Python
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python