zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的。
读取一个Python zipfile 模块
import
zipfile
z
=
zipfile.ZipFile(filename,
'r'
)
for
i
in
z.infolist():
print
i.file_size, i.header_offset
这里使用了z.infolist(), 它返回的就是压缩包内所有文件的信息,就是一个ZipInfo的列表。一个ZipInfo对象中包含了压缩包内一个文件的信息,其中比较常用的是 filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移。
解压代码:
import
zipfile
#导入模块,它是做压缩和解压缩的
password
=
"123"
#我们设定的口令
zfile
=
zipfile.ZipFile(
"test.zip"
)
#要解压缩的压缩包
zfile.extractall(path
=
'C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('
utf
-
8
'))
#进行解压缩操作,path为输出的路径
破解代码:
import
zipfile
zfile
=
zipfile.ZipFile(
"test.zip"
)
passFile
=
open
(
'pwd.txt'
)
#读取你设定的密码文件
for
line
in
passFile.readlines():
try
:
password
=
line.strip(
'\n'
)
zfile.extractall(path
=
'C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('
utf
-
8
'))
break
except
:
print
(
"又错了"
)
pwd.txt文件放入密码列表一个密码一行
转自http://www.php.cn/python-tutorials-382872.html