gpt4 book ai didi

python-2.7 - 高效读写大型文件

转载 作者:行者123 更新时间:2023-12-03 05:56:43 24 4
gpt4 key购买 nike

我有一个简单的程序,该程序从网站读取数据,然后使用 urllib 将其写入文件。但是该文件的大小为几百兆,Python不断提高内存不足错误

import urllib
content = urllib.urlopen ( LINK )
f = file ("Something.mp4", "wb")
f.write ( content.read () )

然后,当我下载并写入文件时,它会引发内存错误。
我正在考虑将内容分解为块并写入每个单独的块,但是我只知道如何逐行读取文件,而不是逐块读取文件。

更新:更好的办法是,有什么办法可以让我从服务器读取一部分数据并将其写入,然后再从X重新下载?原因我认为内存错误来自urllib文件实例的返回数据!

问题:如何下载数据并将其有效地写入没有内存不足的文件中? ...和/或实现此目标的Python方法是什么?

好处:如何找到系统可以处理的实际内存限制/参数?
示例:由于我有4 Gig的RAM,这是否意味着我可以使用4 Gig的内存? ...超过一定的内存使用量后,Python将在什么时候切断我?

眼镜:
Windows 8、64位,4GB RAM,1.3 GHZ CPU。
Python 2.7

最佳答案

尝试使用请求将文件下载为块

filename="something.mp4"
r = requests.get(LINK, stream=True)
with open(local_filename, 'wb') as f:
for block in r.iter_content(block_size=1024):
if block:
f.write(block)

请参阅 http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow

关于python-2.7 - 高效读写大型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37023649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com