Python壓縮模塊zipfile實現(xiàn)原理及用法解析
一、python壓縮模塊簡介
python直接通過內(nèi)置壓縮模塊可以直接進(jìn)行壓縮文件的創(chuàng)建;
內(nèi)置模塊 zipfile/rarfile 完成壓縮文件的操作。
二、 zipfile模塊基礎(chǔ)使用
2.1 對一個文件進(jìn)行zip壓縮
# 把當(dāng)前目錄的test.txt文件壓縮到a.zip壓縮包中import zipfilef = zipfile.ZipFile(’a.zip’, ’w’, zipfile.ZIP_DEFLATED)f.write(’test.txt’)f.close()
上述代碼中:
a.zip是壓縮后要保存的文件名 w 表示寫入壓縮文件的含義 ZIP_DEFLATED表示壓縮;ZIP_STORE表示只打包,不壓縮(類似Linux中的gz跟tar格式) write方法:目前填寫的參數(shù) test.txt 為當(dāng)前目錄下的文件,它表示要壓縮的文件。2.2 對一個zip壓縮文件進(jìn)行解壓縮
# 把當(dāng)前目錄的a.zip壓縮包中的test.txt進(jìn)行解壓import zipfilef = zipfile.ZipFile(’a.zip’,’r’)f.extract(’test.txt’)
上述代碼中:
a.zip 是當(dāng)前目前下的壓縮包文件,該壓縮包目前只壓縮了一個 test.txt 文件
extract() 方法的作用就用來進(jìn)行解壓縮,參數(shù)填寫的是 a.zip 壓縮包中必須包含的文件名信息
如果我不知道壓縮包中包含了什么文件信息,那就比較麻煩??梢杂胣amelist()方法解決,如下2.3
2.3 對一個zip壓縮文件中的所有文件進(jìn)行解壓縮
import zipfilef = zipfile.ZipFile(’a.zip’,’r’)for file in f.namelist(): f.extract(file,’./temp’)
上述代碼中:
namelist()方法返回壓縮包中包含的所有文件信息,返回值為 list 類型
通過循環(huán)的方式把所有都進(jìn)行解壓到 當(dāng)前目錄下的temp目錄
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
