gpt4 book ai didi

json - 解压缩巨大的 json gzip 文件导致 python 中的内存错误

转载 作者:行者123 更新时间:2023-12-03 02:40:18 33 4
gpt4 key购买 nike

我遇到了以下问题。我正在使用内存较低(1 GB)的小型机器。我的程序从某个网址下载一个巨大的 gzip 文件。我需要将其解压缩为 dict 我确信该文件是 json 格式。我的问题是,运行以下命令后出现内存错误:

data = zlib.decompress(url, 16 + zlib.MAX_WBITS).decode('utf8')
results_list.append(json.loads(data ))

现在对于小文件来说这工作正常,但是对于大文件我收到了错误。我的直觉告诉我,我应该将文件分割成 block ,但是因为我期待一个 json 文件,所以我无法将 block 恢复为 json (因为每个部分都不是有效的 json 字符串)。

我应该做什么?

非常感谢!

最佳答案

使用z=zlib.decompressobj()创建一个解压对象,然后执行z.decompress(some_compressed_data, max),这将返回不超过max 字节的未压缩数据。然后,您再次使用 z.decompress(z.unconsumed_tail, max) 进行调用,直到剩余的 some_compressed_data 被消耗,然后向其提供更多压缩数据。

然后您将需要能够一次处理一个 block 所产生的未压缩数据。

关于json - 解压缩巨大的 json gzip 文件导致 python 中的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46486819/

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