踩坑记录:20230822解压缩zip文件报错
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
踩坑记录:20230822解压缩zip文件报错 [2023/08/22 21:06] – MNBVC项目组 | 踩坑记录:20230822解压缩zip文件报错 [2023/08/22 22:16] (当前版本) – MNBVC项目组 | ||
---|---|---|---|
行 23: | 行 23: | ||
猜测可能是在压缩包之内删除文件遇到了什么奇怪的缓存不一致之类的问题,导致最后那些表的信息被混乱重复的第二次追加到zip文件的尾部。 | 猜测可能是在压缩包之内删除文件遇到了什么奇怪的缓存不一致之类的问题,导致最后那些表的信息被混乱重复的第二次追加到zip文件的尾部。 | ||
+ | |||
+ | 正常的解压代码是这样的: | ||
+ | |||
+ | |||
+ | with zipfile.ZipFile(file, | ||
+ | zip.extractall('/ | ||
+ | |||
+ | |||
+ | 我们只需要修改成: | ||
+ | |||
+ | |||
+ | import io | ||
+ | fp = open(file_path, | ||
+ | # | ||
+ | data = fp.read()[: | ||
+ | fp.close() | ||
+ | # | ||
+ | index = data.rfind(b' | ||
+ | # | ||
+ | data = io.BytesIO(data[: | ||
+ | # | ||
+ | with zipfile.ZipFile(data, | ||
+ | zip.extractall('/ | ||
+ | |||
+ |
踩坑记录/20230822解压缩zip文件报错.1692709576.txt.gz · 最后更改: 2023/08/22 21:06 由 MNBVC项目组