python zipfile使用


the Python challenge中第6關使用到zipfile模塊,於是記錄下zipfile的使用

zip日常使用只要是壓縮跟解壓操作,於是從這里入手

1、壓縮

f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

創建一個zip文件對象,壓縮是需要把mode改為‘w’,這個是源碼中的注釋Open the ZIP file with mode read "r", write "w" or append "a",a為追加壓縮,不會清空原來的zip

f.write(filename)

將文件寫入zip文件中,即將文件壓縮

f.close()

將zip文件對象關閉,與open一樣可以使用上下文with as

import zipfile

with zipfile.ZipFile('test.zip', mode='w') as zipf:
   zipf.write('channel.zip')
   zipf.write('zip_test.py')

zipf = zipfile.ZipFile('test.zip')
print zipf.namelist()

 

2、解壓

f.extract(directory)和f.exractall(directory)

import zipfile


zipf = zipfile.ZipFile('test.zip')

zipf.extractall('channel1')#將所有文件解壓到channel1目錄下

 

高級應用 
1 zipfile.is_zipfile(filename) 
判斷一個文件是不是壓縮文件 
2 ZipFile.namelist() 
返回文件列表 
3 ZipFile.open(name[, mode[, password]]) 
打開壓縮文檔中的某個文件

 

if zipfile.is_zipfile('test.zip'): #is_zipfile() 判斷是否似zip文件
   f = zipfile.ZipFile('test.zip')
   files = f.namelist() #namelist() 返回zip壓縮包中的所有文件
   print 'files:', files
   mess = f.open('channel/readme.txt') #打開zip壓縮包中的某個文件,可讀可寫
   print 'mess:', mess.read()
   f.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM