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多线程扫描端口示例
Jan 16 Python
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
Python中正则表达式的详细教程
Apr 30 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
python+pyqt实现右下角弹出框
Oct 26 Python
Python pip 安装与使用(安装、更新、删除)
Oct 06 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
python 画函数曲线示例
Dec 04 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
Jan 12 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 Python
什么是Python装饰器?如何定义和使用?
Apr 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
浅析php原型模式
2014/11/25 PHP
JS 控制CSS样式表
2009/08/20 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
jquery改变tr背景色的示例代码
2013/12/28 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python转换摩斯密码示例
2014/02/16 Python
Python中bisect的用法
2014/09/23 Python
python3抓取中文网页的方法
2015/07/28 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
关于Python解包知识点总结
2020/05/05 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
先进党支部事迹材料
2014/12/24 职场文书
督导岗位职责
2015/02/04 职场文书
小学远程教育工作总结
2015/08/13 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
MySQL 如何分析查询性能
2021/05/12 MySQL