如何使用 aiohttp 实现大文件边下载边保存,高效节省内存?
- 内容介绍
- 文章标签
- 相关推荐
本文共计724个文字,预计阅读时间需要3分钟。
前言:当从网络上下载小文件时,例如一张图片,可以直接使用response.read()来读取返回的数据流文件。但下载较大文件时,会占用大量内存,为了减少内存占用,可以使用流式读取。
前言
当从网络上下载小文件时,比如一张图片,可以直接用response.read() 来读取返回的数据流文件。
但是当下载一个几百兆,几千兆的文件会占用很大的内存,为了减少内存的占用可以一边读取一边下载的方式。
流式响应内容
平常返回的response 对象,使用read(), json()和且text()非常方便,但是需谨慎使用它们。所有这些方法都将整个响应加载到内存中。
例如,如果您要下载几个千兆字节大小的文件,这些方法将加载内存中的所有数据。相反,您可以使用该content 属性。
本文共计724个文字,预计阅读时间需要3分钟。
前言:当从网络上下载小文件时,例如一张图片,可以直接使用response.read()来读取返回的数据流文件。但下载较大文件时,会占用大量内存,为了减少内存占用,可以使用流式读取。
前言
当从网络上下载小文件时,比如一张图片,可以直接用response.read() 来读取返回的数据流文件。
但是当下载一个几百兆,几千兆的文件会占用很大的内存,为了减少内存的占用可以一边读取一边下载的方式。
流式响应内容
平常返回的response 对象,使用read(), json()和且text()非常方便,但是需谨慎使用它们。所有这些方法都将整个响应加载到内存中。
例如,如果您要下载几个千兆字节大小的文件,这些方法将加载内存中的所有数据。相反,您可以使用该content 属性。

