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
