2

使用 tarfile 库时真的没有办法为 lzma 压缩设置压缩级别吗?我已阅读以下内容:

对于模式 'w:gz'、'r:gz'、'w:bz2'、'r:bz2'、'x:gz'、'x:bz2',tarfile.open() 接受关键字参数 compresslevel(默认9) 指定文件的压缩级别。

所以文档显然告诉我没有,因为这里缺少'w:xs'。

但是那样的话,怎么先写一个tarfile,然后用lzma库把tarfile转成lzma呢?所有这些都必须使用磁盘存储来完成(文件太大而无法将其全部存储在内存中,我们说的是 2-4gb tarfile)。

4

1 回答 1

4

对于lzma,该选项被称为preset,因为这是LZMACompressor中使用的名称。将其设置为 0 到 9 之间的整数。

参见xzopen()classmethod,用于处理xz压缩文件。

该文档令人困惑,因为它没有明确提及此选项,我将提交一个问题以对此进行改进。

于 2016-11-18T09:59:09.700 回答