【发布时间】:2020-04-13 11:11:05
【问题描述】:
我遇到了压缩文件的问题。我需要解压缩 bz2、xz、zst 文件并使用输出数据。然而,一些压缩文件是 10GB+,输出将至少为 50GB。
我只有 16GB 的内存,有没有办法:
- 一次读取 1GB 的压缩文件
- 使用读取的 1GB 压缩数据,解压后依次生成 1GB 数据(存储在内存中,不输出文件。我需要处理解压后的数据)
提前致谢。
【问题讨论】:
-
您将不得不创建一个处理管道。您可以考虑为此目的使用生成器。您还可以寻找像这个这样的增量解压缩器并在其周围包裹一个生成器:docs.python.org/3/library/bz2.html#bz2.BZ2Decompressor
标签: python python-3.x file memory compression