广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么快速下载大文件
  • 341
分享到

Python怎么快速下载大文件

2023-07-05 23:07:16 341人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文小编为大家详细介绍“python怎么快速下载大文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么快速下载大文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一使用以下流式代码,无论下载文

本文小编为大家详细介绍“python怎么快速下载大文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么快速下载大文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

方法一

使用以下流式代码,无论下载文件的大小如何,Python 内存占用都不会增加:

def download_file(url):    local_filename = url.split('/')[-1]    # 注意传入参数 stream=True    with requests.get(url, stream=True) as r:        r.raise_for_status()        with open(local_filename, 'wb') as f:            for chunk in r.iter_content(chunk_size=8192):                 f.write(chunk)    return local_filename

如果你有对 chunk 编码的需求,那就不该传入 chunk_size 参数,且应该有 if 判断。

def download_file(url):    local_filename = url.split('/')[-1]    # 注意传入参数 stream=True    with requests.get(url, stream=True) as r:        r.raise_for_status()        with open(local_filename, 'w') as f:            for chunk in r.iter_content():                 if chunk:                    f.write(chunk.decode("utf-8"))    return local_filename

iter_content [1] 函数本身也可以解码,只需要传入参数 decode_unicode = True 即可。

请注意,使用 iter_content 返回的字节数并不完全是 chunk_size,它是一个通常更大的随机数,并且预计在每次迭代中都会有所不同。

方法二

使用 Response.raw 和  shutil.copyfileobj

import requestsimport shutildef download_file(url):    local_filename = url.split('/')[-1]    with requests.get(url, stream=True) as r:        with open(local_filename, 'wb') as f:            shutil.copyfileobj(r.raw, f)    return local_filename

这将文件流式传输到磁盘而不使用过多的内存,并且代码更简单。

注意:根据文档,Response.raw 不会解码,因此如果需要可以手动替换 r.raw.read 方法

response.raw.read = functools.partial(response.raw.read, decode_content=True)

速度

方法二更快。方法一如果 2-3 MB/s 的话,方法二可以达到近 40 MB/s。

读到这里,这篇“Python怎么快速下载大文件”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网Python频道。

--结束END--

本文标题: Python怎么快速下载大文件

本文链接: https://www.lsjlt.com/news/356427.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么快速下载大文件
    本文小编为大家详细介绍“Python怎么快速下载大文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么快速下载大文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一使用以下流式代码,无论下载文...
    99+
    2023-07-05
  • 怎么用Python快速下载大文件
    本篇内容介绍了“怎么用Python快速下载大文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法一使用以下流式代码,无论下载文件的大小如何...
    99+
    2023-07-06
  • Python 下载大文件,哪种方式速度更快!
    通常,我们都会用 requests 库去下载,这个库用起来太方便了。方法一使用以下流式代码,无论下载文件的大小如何,Python 内存占用都不会增加:def download_file(url): local_filename =...
    99+
    2023-05-14
    Python
  • 关于Python下载大文件时哪种方式速度更快
    方法一 使用以下流式代码,无论下载文件的大小如何,Python 内存占用都不会增加: def download_file(url): local_filename ...
    99+
    2023-05-15
    Python下载 Python下载大文件方式
  • Golang多线程下载器实现高效快速地下载大文件
    目录前言请求资源http1.1协议Range\Content-RangeLast-Modified\If-Modified-SinceNewRequest()http.Default...
    99+
    2023-05-19
    Golang多线程下载器 Golang下载文件
  • 怎么利用Python快速找到最大文件
    本篇内容介绍了“怎么利用Python快速找到最大文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!思路:我们遍历目录,将文件路径和文件大小作...
    99+
    2023-06-25
  • JAVA怎么下载大文件
    您可以使用Java的URL类和URLConnection类来下载大文件。下面是一个简单的示例代码:```javaimport jav...
    99+
    2023-08-25
    JAVA
  • 如何利用Python文件索引快速加载大量数据文件?
    在现代数据分析和机器学习中,经常需要处理大量的数据文件。如何快速加载这些数据文件是一个非常重要的问题。Python提供了多种方法来读取和处理大量数据文件,例如使用Pandas库或者使用Python内置的文件读取方法。然而,当数据文件数量非...
    99+
    2023-09-28
    文件 索引 load
  • linux怎么快速删除大量文件
    在Linux中,可以使用以下方法快速删除大量文件:1. 使用`rm`命令:`rm -r`命令可以递归删除目录及其内容,`rm -f`...
    99+
    2023-08-20
    linux
  • 怎么利用IDM加速下载百度网盘大文件
    这篇文章主要介绍“怎么利用IDM加速下载百度网盘大文件”,在日常操作中,相信很多人在怎么利用IDM加速下载百度网盘大文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用IDM加速下载百度网盘大文件”的疑...
    99+
    2023-07-04
  • win10镜像怎么快速下载
    这篇文章主要讲解了“win10镜像怎么快速下载”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10镜像怎么快速下载”吧!通过网络检索工具搜索“Win10正式版下载”,在搜索结果中选中如图...
    99+
    2023-07-01
  • linux下如何实现快速拷贝大文件
    拷贝数据 远程拷贝数据的时候,我们一般使用rsync命令,但是如果拷贝大量的小文件,会导致rsync的传输速度慢。使用tar pv lz4打包压缩传输,可以解决这问题,使用这个方法,等同于使用scp、rsync传输...
    99+
    2022-06-03
    linux 快速拷贝 大文件
  • 仅4行代码实现Android快速文件下载
    写在前面的废话  下载文件,几乎是所有APP都会用到的功能!算了,还是不废话了,直接开写吧。。。  简单使用  完成一个下载任务只需要4行代...
    99+
    2022-06-06
    Android
  • php怎么下载大文件到本地
    要下载大文件到本地,可以使用PHP的`file_get_contents()`函数结合`file_put_contents()`函数...
    99+
    2023-10-30
    php
  • 如何利用Python 快速找到最大文件
    现在的电脑差不多都是固态硬盘了,速度很快,但容量不会太大,经常会出现磁盘空间不足的情况,怎么办,删除那些不重要的最大的文件是最有效的办法。 那么如何用找到最大的文件呢?比如...
    99+
    2022-11-12
  • php下载大文件时错误怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php下载大文件时错误怎么办?记PHP下载大文件失败的一次坑说明php提供文件的储存和下载,nginx作为web服务器,fpm做解析。现象当下载一个5M大小的图片时,...
    99+
    2022-11-13
  • Python中怎么自动下载文件
    本篇文章给大家分享的是有关Python中怎么自动下载文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。import os   import&nbs...
    99+
    2023-06-17
  • Python文件重定向:如何快速加载数据?
    在Python编程中,数据加载是非常常见的操作。在大多数情况下,我们从外部文件中读取数据并进行处理。然而,当我们面对大量数据时,文件加载的速度可能会变得非常缓慢。为了解决这个问题,我们可以使用Python文件重定向技术来快速加载数据。在本...
    99+
    2023-09-20
    文件 重定向 load
  • Gin框架快速创建静态文件下载Web服务
    目录介绍 安装 快速开始 1.创建 boot.yaml 2.创建 main.go 3.文件夹结构 4.验证 从 pkger 读取文件 (嵌入式静态文件) 1.下载 pkger 命令行...
    99+
    2022-11-12
  • Linux系统下如何快速删除某个目录下大量文件
    本篇内容主要讲解“Linux系统下如何快速删除某个目录下大量文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下如何快速删除某个目录下大量文件”吧!只需要一个命令就可以搞定ls *...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作