ZIP_STORED和ZIP_LZMA没有compresslevel参数!

在使用py的zipfile库进行压缩的时候,有这么一个函数:

复制代码
def write(self, filename, arcname=None,
              compress_type=None, compresslevel=None):

一般我们在压缩文件进去的时候都是用这个函数的;

对于compresslevel这个函数,它是用来指明压缩等级的;

我使用ZIP_LZMA模式进行压缩,并且尝试指定compresslevel;神奇的事情出现了:不管怎么调level,压缩出来的大小都不会有改变;

把write函数让ai解释,ai信誓旦旦说这个参数接受0-9;

不信邪的我查了zipfile里面的参数介绍,原文如下:

复制代码
compresslevel: None (default for the given compression type) or an integer
                   specifying the level to pass to the compressor.
                   When using ZIP_STORED or ZIP_LZMA this keyword has no effect.
                   When using ZIP_DEFLATED integers 0 through 9 are accepted.
                   When using ZIP_BZIP2 integers 1 through 9 are accepted.

所以,ZIP_STORED和ZIP_LZMA接受的compresslevel参数根本就没有意义!

这也很好理解,store本身就不压缩,就是直白储存,你指定level自然没有意义;我现在用的这个ZIP_LZMA模式本身就是一个高压缩比的算法,再指定level,那不就是玩呢

再吃了一个教训:细致的问题多看源码,少问ai

相关推荐
坐吃山猪20 小时前
Python20_MCP添加鉴权
开发语言·python
Greyson120 小时前
如何通过Vagrant快速建库_自动化虚拟机Oracle部署方案
jvm·数据库·python
西西弗Sisyphus20 小时前
Python 闭包实现的计数器,每调用一次就 +1,多个计数器之间互不干扰
python·闭包·closure
Wyz2012102420 小时前
HTML函数运行时触控屏失灵是硬件故障吗_输入层兼容性测试【详解】
jvm·数据库·python
jiguanghover20 小时前
python 更新Obsidian
python
Greyson120 小时前
TensorFlow中如何冻结模型层_设置layer.trainable等于False实现微调
jvm·数据库·python
m0_7488394920 小时前
SQL视图在ETL流程中的作用_数据清洗与标准化接口
jvm·数据库·python
2401_8326355820 小时前
JavaScript中字符串toLowerCase与toUpperCase规范
jvm·数据库·python
龙腾AI白云20 小时前
大模型微调进阶:多任务微调实战
python·机器学习·逻辑回归·pygame
人工干智能20 小时前
科普:python的pandas包中的DataFrame就是二维表
开发语言·python·pandas