我试图使用python gzip模块将数据写入压缩文件.但该模块似乎不接受压缩级别
我遵循gzip官方Python文档中指定的语法
这是一段代码示例代码,如果我错了,请纠正我
import gzip
fd = gzip.GzipFile(filename = "temp", mode = "w", compresslevel = 6)
fd.write("some text")
Run Code Online (Sandbox Code Playgroud)
当我在文件temp上运行file命令时,我总是得到"max compression"的输出,即使它不是这种情况
file temp
temp: gzip compressed data, was "temp", last modified: Tue Jul 30 23:12:29 2013, max compression
Run Code Online (Sandbox Code Playgroud)
some text太小,无法测试.尝试使用大字符串.
我用一个大文本文件尝试了它,它按预期工作.
import gzip
import os
with open('/path/to/big-file', 'rb') as f:
content = f.read()
for level in range(10):
with gzip.GzipFile(filename='temp', mode='w', compresslevel=level) as f:
f.write(content)
print('level={}, size={}'.format(level, os.path.getsize('temp')))
Run Code Online (Sandbox Code Playgroud)
以上代码产生以下输出:
level=0, size=56564
level=1, size=21150
level=2, size=20635
level=3, size=20291
level=4, size=19260
level=5, size=18818
level=6, size=18721
level=7, size=18713
level=8, size=18700
level=9, size=18702
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2662 次 |
| 最近记录: |