ZipFile模塊裏有兩個很是重要的class, 分別是 ZipFile
和ZipInfo
。ZipFile
是主要的類,用來建立和讀取zip文件,而ZipInfo
是存儲的zip文件的每一個文件的信息的。code
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
file:zip文件名(包含路徑)
mode:r,w,a
compression:zipfile. ZIP_STORED(不壓縮)或zipfile. ZIP_DEFLATED(壓縮)
allowZip64:True時,表示支持64位的壓縮,通常而言,在所壓縮的文件大於2G時,會用到這個選項;默認狀況下,該值爲False,由於Unix系統不支持。對象
ZipFile.namelist()
獲取zip文檔內全部文件的名稱列表(名稱是字符串)。ip
ZipFile.getinfo(name)
獲取zip文檔內指定文件的信息。返回一個zipfile.ZipInfo
對象,它包括文件的詳細信息。文檔
ZipFile.infolist()
獲取zip文檔內全部文件的信息,返回一個zipfile.ZipInfo
的列表。字符串
ZipFile.extract(member[, path[, pwd]])
將zip文檔內的指定文件解壓到當前目錄。參數member
指定要解壓的文件名稱(字符串)或對應的ZipInfo
對象;參數path
指定了解析文件保存的文件夾;參數pwd爲解壓密碼。get
ZipFile.extractall([path[, members[, pwd]]])
解壓zip文檔中的全部文件到當前目錄。參數members
的默認值爲zip文檔內的全部文件名稱列表,也能夠本身設置,選擇要解壓的文件名稱。it
ZipFile.printdir()
將zip文檔內的信息打印到控制檯上.
包含三列信息:File Name/Modified/Sizeio
ZipFile.read(name[, pwd])
獲取zip文檔內指定文件的二進制數據。class
ZipFile.write(filename[, arcname[, compress_type]])
將指定文件添加到zip文檔中。filename爲文件路徑,arcname爲添加到zip文檔以後保存的名稱,參數compress_type表示壓縮方法,它的值能夠是zipfile. ZIP_STORED
或zipfile. ZIP_DEFLATED
。擴展
zipInfo 的屬性以下
ZipInfo.compress_type: 壓縮類型。 ZipInfo.comment: 文檔說明。 ZipInfo.extr: 擴展項數據。 ZipInfo.create_system: 獲取建立該zip文檔的系統。 ZipInfo.create_version: 獲取 建立zip文檔的PKZIP版本。 ZipInfo.extract_version: 獲取 解壓zip文檔所需的PKZIP版本。 ZipInfo.reserved: 預留字段,當前實現老是返回0。 ZipInfo.flag_bits: zip標誌位。 ZipInfo.volume: 文件頭的卷標。 ZipInfo.internal_attr: 內部屬性。 ZipInfo.external_attr: 外部屬性。 ZipInfo.header_offset: 文件頭偏移位。 ZipInfo.CRC: 未壓縮文件的CRC-32。 ZipInfo.compress_size: 獲取壓縮後的大小。 ZipInfo.file_size: 獲取未壓縮的文件大小。