gpt4 book ai didi

python - 在 Python 中存储大文件的最快方法

转载 作者:太空狗 更新时间:2023-10-29 17:45:36 27 4
gpt4 key购买 nike

recently asked a question关于如何将大型 python 对象保存到文件。我以前遇到过将大量 Python 词典转换为字符串并通过 write() 将它们写入文件的问题。现在我正在使用 pickle 。虽然它有效,但文件非常大(> 5 GB)。我在如此大的文件领域几乎没有经验。我想知道在将这个 pickle 文件存储到内存之前压缩它是否会更快,甚至可能。

最佳答案

您可以使用 bzip2 压缩数据:

from __future__ import with_statement # Only for Python 2.5
import bz2,json,contextlib

hugeData = {'key': {'x': 1, 'y':2}}
with contextlib.closing(bz2.BZ2File('data.json.bz2', 'wb')) as f:
json.dump(hugeData, f)

像这样加载它:

from __future__ import with_statement # Only for Python 2.5
import bz2,json,contextlib

with contextlib.closing(bz2.BZ2File('data.json.bz2', 'rb')) as f:
hugeData = json.load(f)

您还可以使用 zlib 压缩数据或 gzip具有几乎相同的界面。但是,zlib 和 gzip 的压缩率都将低于使用 bzip2(或 lzma)实现的压缩率。

关于python - 在 Python 中存储大文件的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641592/

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