zipfile 模塊的使用


1.壓縮文件

path = 'C:\\Users\Administrator\Desktop\\apache-tomcat-8.5.31\logs\catalina.2018-08-27.log' #要壓縮的文件路徑
zipf = zipfile.ZipFile(path[:-4]+'.zip', 'w') #第一個參數:壓縮后文件的路徑名稱
zipf.write(path, 'test\\1.log') #第二個參數,壓縮后的文件路徑名稱(如果不寫,則默認為path路徑+path路徑。 強烈建議寫上!本人就是因為這個原因才寫本次博)
zipf.close() #關閉流

 

2.壓縮文件夾

zipPath = 'd:\\1'
zipf = zipfile.ZipFile(zipPath+'.zip', 'w')
for file in os.listdir(zipPath):
    print(zipPath+os.sep+file)
    zipf.write(os.path.join(zipPath, file), file)
zipf.close() #放外層,不然會關閉流
shutil.move(zipPath+'.zip', 'd:\\1\\log.zip') #移動文件到指定目錄下

 

 

具體函數介紹

ZipFile(filename[,mode[,compression[,allowZip64]]])

  • filename:文件對象;例如:’xxx.zip’
  • mode:可選r,w,a代表不同的打開文件的方式;r只讀;w重寫;a添加;
  • compression:指出這個zipfile用什么壓縮方法,默認是ZIP_STORED,另一種選擇是ZIP_DEFLATED;
  • allowZip64:是個bool型變量,當設置為True的時候就是說可以用來創建大小大於2G的zip文件,默認值是True;

 

ZipFile.write(filename[, arcname[, compress_type]])

將指定文件添加到zip文檔中。

filename為文件路徑,arcname為添加到zip文檔之后保存的名稱,參數compress_type表示壓縮方法,它的值可以是zipfile.ZIP_STORED或zipfile.ZIP_DEFLATED

 

另記錄 os.sep 方法: 文件分隔符,適配windows和linux系統

2.解壓文件

z = zipfile.ZipFile('C:\\Users\Administrator\Desktop\\apache-tomcat-8.5.31\logs\localhost.2018-06-08.zip', 'r')
print(z.read(z.namelist()[0])) 

  

 


免責聲明!

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



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