我一直在尝试实现一个非常简单的脚本,提取受密码保护的zip文件。
我创建了一个简单的zip文件(test.zip),密码为“1234”,其中包含两个文本文件(1.txt,2.txt),我编写了这个脚本:import zipfile
PASSWORD = "1234"
zip = zipfile.ZipFile("test.zip", "r")
zip.setpassword(PASSWORD)
zip.extractall()
zip.close()
我得到以下运行时错误:Traceback (most recent call last):
File "test.py", line 7, in
zip.extractall()
File "/usr/lib/python2.7/zipfile.py", line 962, in extractall
self.extract(zipinfo, path, pwd)
File "/usr/lib/python2.7/zipfile.py", line 950, in extract
return self._extract_member(member, path, pwd)
File "/usr/lib/python2.7/zipfile.py", line 993, in _extract_member
source = self.open(member, pwd=pwd)
File "/usr/lib/python2.7/zipfile.py", line 934, in open
raise RuntimeError("Bad password for file", name)
RuntimeError: ('Bad password for file', )
我尝试过使用“zip.namelist()”和“extract()”方法进行迭代,并指定了如下精确的参数:zip.extract(, path=, pwd=)
运气不好:(
我知道“extractall()”的安全问题,在我的完整代码中,我将在提取过程之前进行验证,我只是想找出我做错了什么?
谢谢你的帮助!