Python 3.x 如何在LZMA压缩中使用“tarfile”时设置压缩级别?
在使用Python中用于LZMA(Python 3.x 如何在LZMA压缩中使用“tarfile”时设置压缩级别?,python-3.x,python-3.7,lzma,tarfile,Python 3.x,Python 3.7,Lzma,Tarfile,在使用Python中用于LZMA(*.xz)压缩的tarfile模块创建归档文件时,是否有方法设置压缩级别 我正在使用以下构造,我想知道tarfile.open方法的compresslevel关键字参数是否也适用于LZMA压缩 tarfile.open(tar_file_path, 'w:xz', compresslevel=9) as tf: ... 在这方面没有什么帮助…看起来“压缩级别”不是“tarfile”中的选项 使用“lzma”模块是可能的 压缩设置可以指定为预设 压缩级别
*.xz
)压缩的tarfile
模块创建归档文件时,是否有方法设置压缩级别
我正在使用以下构造,我想知道tarfile.open
方法的compresslevel
关键字参数是否也适用于LZMA压缩
tarfile.open(tar_file_path, 'w:xz', compresslevel=9) as tf:
...
在这方面没有什么帮助…看起来“压缩级别”不是“tarfile”中的选项 使用“lzma”模块是可能的 压缩设置可以指定为预设 压缩级别(带有预设参数),或作为自定义的详细信息 过滤器链(带有过滤器参数) 预设参数(如果提供)应为介于0和9之间的整数 (包括在内),可选或使用恒定预设值设置。如果 既不提供预设也不提供过滤器,默认行为是使用 预设默认值(预设级别6)。预设值越高,生成的值越小 输出,但使压缩过程变慢 请查收
import lzma
my_filters = [
{"id": lzma.FILTER_DELTA, "dist": 5},
{"id": lzma.FILTER_LZMA2, "preset": 7 | lzma.PRESET_EXTREME},
]
with lzma.open("file.xz", "w", filters=my_filters) as f:
f.write(b"blah blah blah")