zipfile模塊是Python的內置模塊,用于處理zip壓縮文件。它提供了一些函數和類,可以創建、讀取和修改zip文件。
常用的zipfile模塊函數和類的用法如下:
zipfile.ZipFile(filename, mode=‘r’, compression=ZIP_STORED) 創建一個ZipFile對象,打開指定的zip文件。參數filename是zip文件的路徑,mode是打開模式(可選,默認為’r’),compression是壓縮方法(可選,默認為ZIP_STORED不壓縮)。
示例:
import zipfile
zf = zipfile.ZipFile('example.zip', 'r')
ZipFile對象的方法:
close()
: 關閉ZipFile對象。extractall(path=None, members=None, pwd=None)
: 解壓縮zip文件中的所有文件到指定的目錄。extract(member, path=None, pwd=None)
: 解壓縮zip文件中的單個文件到指定的目錄。getinfo(name)
: 獲取zip文件中指定文件的信息。namelist()
: 返回zip文件中所有文件的名稱列表。open(name, mode='r', pwd=None, *, force_zip64=False)
: 打開zip文件中的某個文件,并返回一個類似于文件對象的ZipExtFile對象。printdir()
: 打印zip文件中所有文件的詳細信息。示例:
import zipfile
zf = zipfile.ZipFile('example.zip', 'r')
zf.extractall('extracted_files')
zf.close()
ZipExtFile對象的方法:
read(size=-1)
: 讀取指定大小的數據,如果沒有指定size,則讀取整個文件的內容。seek(offset[, whence])
: 設置文件指針的位置。close()
: 關閉ZipExtFile對象。示例:
import zipfile
zf = zipfile.ZipFile('example.zip', 'r')
file = zf.open('example.txt', 'r')
data = file.read()
file.close()
zf.close()
這只是zipfile模塊的一些常見用法,還有很多其他功能可以通過該模塊來實現。你可以查閱Python官方文檔以獲取更詳細的信息。