Python 3.5 tarfile 库 lzma 压缩级别

Python 3.5 tarfile library lzma compresslevel

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

For modes 'w:gz', 'r:gz', 'w:bz2', 'r:bz2', 'x:gz', 'x:bz2', tarfile.open() accepts the keyword argument compresslevel (default 9) to specify the compression level of the file.

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

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

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

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

文档令人困惑,因为它没有明确提到这个选项,我会提交一个问题来改进这个。