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 相关文章推荐
python 字符串格式化代码
Mar 17 Python
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
python处理大数字的方法
May 27 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
Jan 02 Python
python实现Decorator模式实例代码
Feb 09 Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 Python
python中time库的实例使用方法
Oct 31 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
Python字典取键、值对的方法步骤
Sep 30 Python
numba提升python运行速度的实例方法
Jan 25 Python
python 爬取天气网卫星图片
Jun 07 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Python内建数据结构详解
2016/02/03 Python
神经网络python源码分享
2017/12/15 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
青年文明号汇报材料
2014/12/23 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
太行山上观后感
2015/06/05 职场文书
2016年清明节寄语
2015/12/04 职场文书
关于python爬虫应用urllib库作用分析
2021/09/04 Python
python 远程执行命令的详细代码
2022/02/15 Python
Win11开始菜单添加休眠选项
2022/04/19 数码科技