zipfile是python里用來(lái)做zip格式編碼的壓縮和解壓縮的,由于是很常見(jiàn)的zip格式,所以這個(gè)模塊使用頻率也是比較高的,
在這里對(duì)zipfile的使用方法做一些記錄。即方便自己也方便別人。
Python zipfile模塊用來(lái)做zip格式編碼的壓縮和解壓縮的,要進(jìn)行相關(guān)操作,首先需要實(shí)例化一個(gè) ZipFile 對(duì)象。ZipFile 接受一個(gè)字符串格式壓縮包名稱(chēng)作為它的必選參數(shù),第二個(gè)參數(shù)為可選參數(shù),表示打開(kāi)模式,類(lèi)似于文件操作,有r/w/a三種模式,分別代表讀、寫(xiě)、添加,默認(rèn)為r,即讀模式。
zipfile里有兩個(gè)非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數(shù)的情況下,我們只需要使用這兩個(gè)class就可以了。ZipFile是主要的類(lèi),用來(lái)創(chuàng)建和讀取zip文件而ZipInfo是存儲(chǔ)的zip文件的每個(gè)文件的信息的。
def zip_ya(startdir,file_news): startdir = ".\\123" #要壓縮的文件夾路徑 file_news = startdir +'.zip' # 壓縮后文件夾的名字 z = zipfile.ZipFile(file_news,'w',zipfile.ZIP_DEFLATED) #參數(shù)一:文件夾名 for dirpath, dirnames, filenames in os.walk(startdir): fpath = dirpath.replace(startdir,'') #這一句很重要,不replace的話,就從根目錄開(kāi)始復(fù)制 fpath = fpath and fpath + os.sep or ''#這句話理解我也點(diǎn)郁悶,實(shí)現(xiàn)當(dāng)前文件夾以及包含的所有文件的壓縮 for filename in filenames: z.write(os.path.join(dirpath, filename),fpath+filename) print ('壓縮成功') z.close() if__name__=="__main__" startdir = ".\\123" #要壓縮的文件夾路徑 file_news = startdir +'.zip' # 壓縮后文件夾的名字 zip_ya(startdir,file_news)
import zipfile def zip_files( files, zip_name ): zip = zipfile.ZipFile( zip_name, 'w', zipfile.ZIP_DEFLATED ) for file in files: print ('compressing', file) zip.write( file ) zip.close() print ('compressing finished') files = ['.\\123.txt','.\\3.txt']#文件的位置,多個(gè)文件用“,”隔開(kāi) zip_file = '.\\m66y.zip'#壓縮包名字 zip_files(files, zip_file)
ZipFile還提供了如下常用的方法和屬性:
ZipFile.getinfo(name)
獲取zip文檔內(nèi)指定文件的信息。返回一個(gè)zipfile.ZipInfo對(duì)象,它包括文件的詳細(xì)信息。
ZipFile.infolist()
獲取zip文檔內(nèi)所有文件的信息,返回一個(gè)zipfile.ZipInfo的列表。
ZipFile.namelist()
獲取zip文檔內(nèi)所有文件的名稱(chēng)列表。
ZipFile.extract(member[, path[, pwd]])
將zip文檔內(nèi)的指定文件解壓到當(dāng)前目錄。參數(shù)member指定要解壓的文件名稱(chēng)或?qū)?yīng)的ZipInfo對(duì)象;參數(shù)path指定了解析文件保存的文件夾;
ZipFile.extractall([path[, members[, pwd]]])
解壓zip文檔中的所有文件到當(dāng)前目錄。參數(shù)members的默認(rèn)值為zip文檔內(nèi)的所有文件名稱(chēng)列表,也可以自己設(shè)置,選擇要解壓的文件名稱(chēng)。
ZipFile.printdir()
將zip文檔內(nèi)的信息打印到控制臺(tái)上。
ZipFile.setpassword(pwd)
設(shè)置zip文檔的密碼。
ZipFile.read(name[, pwd])
到此這篇關(guān)于Python實(shí)現(xiàn)批量壓縮文件/文件夾zipfile的使用的文章就介紹到這了,更多相關(guān)Python 批量壓縮zipfile內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:三亞 葫蘆島 呼倫貝爾 安慶 烏魯木齊 呼倫貝爾 銀川 湘西
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實(shí)現(xiàn)批量壓縮文件/文件夾zipfile的使用》,本文關(guān)鍵詞 Python,實(shí)現(xiàn),批量,壓縮,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。