python支持使用自定义编码的zipfile模块

上传者: Sallee001 | 上传时间: 2022-02-10 19:03:43 | 文件大小: 77KB | 文件类型: PY
=== 用法 === 一:作为第三方模块(推荐) 将该文件改名后(myzipfile.py)和程序放在一起,导入时可以使用as改名来兼容旧代码(import myzipfile as zipfile) 二:替换原版zipfile模块(不推荐,程序可能会无法移植) 放在python路径下的Lib文件夹里 由于该文件并不是标准库,encoding可能不会有代码提示,请手动输入此参数。 === 说明 === python默认的zipfile模块的文件列表只支持cp437和UTF8两种编码,而中文操作系统中zip常使用gbk来存储文件列表,这使得使用python解压zip会乱码,需要读取ZipInfo逐个解压文件并且重命名,并且乱码中可能会出现非法字符(? * : " \ / | )导致文件解压失败。 这里我在ZipFile的构造函数中添加了可选参数”encoding",用法和文件IO相同,并且将文件名解码部分替换成了encoding指定的编码,默认参数为“utf8",指定代码页之后,ZipInfo保存的文件名均为正确解码后的文件名。extractall()方法也可以正常的工作。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明