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