我在python中得到一个奇怪的错误。当我尝试使用zip模块提取受密码保护的文件时,当尝试将“oy”设置为密码时出现异常。其他一切似乎都起作用了。ZipFile模块中的错误?import zipfile

zip = zipfile.ZipFile("file.zip", "r")

zip.setpassword("oy".encode('utf-8'))

zip.extractall() #Above password "oy" generates the error here

zip.close()

这是我得到的例外:Traceback (most recent call last):

File "unzip.py", line 4, in

zip.extractall()

File "C:\Program Files\Python32\lib\zipfile.py", line 1002, in extrac

l

self.extract(zipinfo, path, pwd)

File "C:\Program Files\Python32\lib\zipfile.py", line 990, in extract

return self._extract_member(member, path, pwd)

File "C:\Program Files\Python32\lib\zipfile.py", line 1035, in _extra

member

shutil.copyfileobj(source, target)

File "C:\Program Files\Python32\lib\shutil.py", line 65, in copyfileo

buf = fsrc.read(length)

File "C:\Program Files\Python32\lib\zipfile.py", line 581, in read

data = self.read1(n - len(buf))

File "C:\Program Files\Python32\lib\zipfile.py", line 633, in read1

max(n - len_readbuffer, self.MIN_READ_SIZE)

zlib.error: Error -3 while decompressing: invalid block type

如果使用UTF-16作为编码,则会出现以下错误:zlib.error: Error -3 while decompressing: invalid distance too far back

编辑

我现在已经在一台虚拟Linux机器上进行了以下测试:Python版本:2.6.5

我用zip -e file.zip

hello.txt创建了一个受密码保护的zip文件

现在看来问题出在别的地方了。现在我可以提取zip文件,即使密码是错误的!try:

zip.setpassword("ks") # "ks" is wrong password but it still extracts the zip

zip.extractall()

except RuntimeException:

print "wrong!"

有时我可以用不正确的密码提取zip文件。然后提取文件(在zip文件中),但当我试图打开它时,信息似乎已损坏/解密。

python 解压zip密码正确但解压失败_在Python中用密码解压zip文件失败的bug?相关推荐

  1. python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...

    (还在更新中-) 这本书对Python的知识点的描述很详细,而且排版看的很舒服 几个例题: 假装自己从零开始学,将一些有代表性.有意思的例题抽取出来 部分复习题: 遇到有意思的复习题,我会拿出来,并且 ...

  2. python如何创建函数对列表里的元素进行分类_列表(List)操作方法详解

    列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类 ...

  3. u3d 模版测试 失败_基于Python的HTTP接口自动化测试框架实现

    一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 二.实现方法 1.选用Python脚本来驱动测试 2.采用Excel表格管理测试数 ...

  4. python删除失败_对python 各种删除文件失败的处理方式分享

    对python 各种删除文件失败的处理方式分享 调用python提供的各种删除文件的操作均失败 返回值5,拒绝访问,但是多次确认文件没有被打开,文件是从一个zip包中解压出来后,没有任何打开读写等操作 ...

  5. python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...

    原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...

  6. python安装request失败_在python 虚拟环境下使用命令pip install -r request 安装软件失败?...

    各位好: 我使用下列命令建立和进入虚拟环境: (1)virtualenv homepage (2). homepage/bin/activate && cd homepage 然后,我 ...

  7. python实战项目书 题库系统_Python实战视频教程_基于Python项目与面试题实例讲解(进阶训练篇)...

    课程介绍: 精选50个Python项目实战与面试容易遇到的问题作为训练任务,每个任务都先提出问题,分析问题.然后给出巧妙与高效的解决办法,最后手把手代码实战完成任务,带你全面提升python项目实战核 ...

  8. python取余还是相乘_python取余还是相乘_基于python 取余问题(%)详解

    取余的公式: 余数=除数-被除数*商 python的的余数是按照整除(向下取整)得到的商来计算的. 取余问题主要分为 : 正数与正数,负数与负数,正数与负数 ,0 正数与正数 #大数/小数:因为得出的 ...

  9. python null byte_如何以“正确”的方式处理带有nullbytes的Python unicode字符串?

    问题 PyWin32似乎很乐意将以null结尾的unicode字符串作为返回值.我想用"正确"的方式处理这些字符串.在 假设我得到一个字符串:u'C:\\Users\\Guest\ ...

最新文章

  1. gradle第二天(Building a RESTful Web Service)
  2. max点缓存烘焙帧_深入理解浏览器的缓存机制
  3. js实时获取系统当前时间
  4. 【英语学习】【WOTD】emote 释义/词源/示例
  5. 游戏 mysql优化工具_MySQL 性能优化神器 Explain 使用分析
  6. Word文档编号工具,Word标题,图、表手动编号工具
  7. 前端框架EasyUI
  8. PCM音频数据格式介绍
  9. 学习笔记/音视频面试
  10. 软件调试书籍资料汇总
  11. 1005打印任务取消不了 hp_hp打印机无法取消打印的文档解决方法(最新整理)
  12. 超链接中 utm_source, utm_medium 等参数的含义是什么?
  13. 良田高拍仪接口文档对接
  14. 石油大学华东matlab王海燕,中石大获2019全国三维数字化创新设计大赛年度总决赛二等奖...
  15. Android 4.0 SDK新特性
  16. 风力发电机组的温升问题如何解决呢?
  17. Android应会的网络基本知识
  18. Xilinx Vitis 2020.2 Ubuntu 设置串口连接ZCU102开发板
  19. PAT1108 String复读机
  20. 卡内基梅隆大学(CMU)的Eric Xing(邢波)教授为什么能读完一般学校的分子生物学PhD后到伯克利去CS PhD?

热门文章

  1. #力扣 LeetCode LCP 02. 分式化简 @FDDLC
  2. CarSIm2016安装过程
  3. 【读书笔记】少有人走的路
  4. Jquery、Js实现网页打印,及打印样式的自定义
  5. linux mic阵列通道丢数据,基于XMOS平台的USB麦克风阵列多声道采集装置
  6. Windows刷新dns缓存
  7. Python使用pymongo连接MongoDB数据库并进行操作
  8. C语言编写扫雷游戏【W5+字详细教学版,包教包会】
  9. 雷达原理-固态发射机
  10. 即时通登陆显示服务器失败,即时通中网页出现应用程序中的服务器错误是怎么回事...