您现在的位置是:网站首页>文章详情文章详情
zlib.error:解压缩时出现错误-3
inlike2019-11-23【 原创文章 】 浏览(3272) 评论(0) 喜欢(27)
简介python解压含目录的zip文件时,提示错误信息:zlib.error:解压缩数据时出错-3:距离太远了
python解压含目录的zip文件时,提示错误信息:zlib.error:解压缩数据时出错-3:无效距离太远,这个错误多数是由于zip文件内部包含错误的文件导致的。
追溯(最近一次通话): 文件“ F:\ anaconda \ lib \ site-packages \ IPython \ core \ interactiveshell.py”,行2881,在run_code中 exec(code_obj,self.user_global_ns,self.user_ns) <模块>中第1行的文件“ <ipython-input-7-921d5ce257a1>” zfobj.extractall('bangzhanbrower.exe') 提取文件中的文件“ F:\ anaconda \ lib \ zipfile.py”,行1491 self.extract(zipinfo,path,pwd) 提取中的文件“ F:\ anaconda \ lib \ zipfile.py”,行1479 返回self._extract_member(成员,路径,密码) _extract_member中的文件“ F:\ anaconda \ lib \ zipfile.py”,第1543行 shutil.copyfileobj(源,目标) copyfileobj中的文件“ F:\ anaconda \ lib \ shutil.py”,第79行 buf = fsrc.read(长度) 读取文件“ F:\ anaconda \ lib \ zipfile.py”,行847 数据= self._read1(n) _read1中的文件“ F:\ anaconda \ lib \ zipfile.py”,第923行 数据= self._decompressor.decompress(data,n)zlib.error:解压缩数据时出现错误-3:距离太远的无效距离
手动解压zip文件出现如下错误提示:
附带python解压zip文件的函数,适用于zip文件内部包含目录结构。
import zipfile
import os
import shutil
def uzip(zp_file, dir):
"""
解压缩zip文件(含目录)
:param zipfile: 带解压文件
:param dir: 解压到文件夹
:return:
"""
if not os.path.exists(dir):
os.mkdir(dir)
zp = zipfile.ZipFile(zp_file, 'r')
for name in zp.namelist():
name = name.replace('\\', '/')
if name.endswith('/'):
p = os.path.join(dir, name[:-1])
if os.path.exists(p):
shutil.rmtree(p)
os.mkdir(p)
else:
ext_filename = os.path.join(dir, name)
ext_dir = os.path.dirname(ext_filename)
if not os.path.exists(ext_dir):
os.mkdir(ext_dir)
with open(ext_filename, 'wb') as outfile:
outfile.write(zp.read(name))
相关文章
本栏推荐
标签云
猜你喜欢
站点信息
- 建站时间:2019-5-24
- 网站程序:like in love
- 主题模板:《今夕何夕》
- 文章统计:104条
- 文章评论:***条
- 微信公众号:扫描二维码,关注我们