程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> python用zip壓縮與解壓縮實現代碼

python用zip壓縮與解壓縮實現代碼

編輯:Python

從簡單的角度來看的話,zip格式會是個不錯的選擇,而且python對zip格式的支持夠簡單,夠好用。zip文件格式信息一個 ZIP 文件由三個部分組成:壓縮源文件數據區+壓縮源文件目錄區+壓縮源文件目錄結束標志 1)壓縮源文件數據區,在這個數據區中每一個壓縮的源文件/目錄都是一條記錄,記錄的格式如下: [文件頭+ 文件數據 + 數據描述符] 2)壓縮源文件目錄區,在這個數據區中每一條紀錄對應在壓縮源文件數據區中的一條數據,如果你僅僅是希望用python來做壓縮和解壓縮,那麼就不用去翻文檔了,這裡提供一個簡單的用法,讓你一看就能明白。 
 

# -*- coding: gbk -*-

#zipfile模塊

 

#讀取或寫入ZIP壓縮包

 

#讀取ZIP壓縮包的文件列表

 

import zipfile

import os

import glob

 

file = zipfile.ZipFile("zipfile_module.zip", "r")

 

print '''列出文件'''

for name in file.namelist():

    print name

 

print '''列出文件信息'''

for info in file.infolist():

    print info.filename,"文件名"

    print info.date_time,"修改時間"

    print info.file_size,"大小"

    print info.compress_type,"壓縮級別"

    print info.compress_size ,"壓縮數據大小"

    print info.file_size,"未壓縮文件大小"

 

for i in range(1, 10):

    print ""

 

print '''解壓操作 unzip'''

for name in file.namelist():

    file.extract(name,os.getcwd()+"/zipfile_module") #解壓到當前目錄

 

#關閉壓縮文件句柄

file.close()

 

print '''壓縮操作 zip'''

#獲取當前目錄樹

fileLists=[]

for root,dirs,files in os.walk("zipfile_module"):

    for name in dirs:

        fileLists.append(os.path.join(root, name)) #目錄入列表

        for name in files:

            fileLists.append(os.path.join(root,name)) #文件入列表

#創建壓縮文件

file2=zipfile.ZipFile(os.getcwd()+"/zipfile_module2"+".zip",'w',zipfile.ZIP_DEFLATED) #zipfile.zlib.DEFLATED 亦可

#寫入目錄樹

for name in fileLists:

    file2.write(name)

#關閉壓縮文件

file2.close()

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved