您的位置:首頁技術文章
文章詳情頁

python用zip壓縮與解壓縮

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

python用zip壓縮與解壓縮

# -*- 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()

標簽: Python 編程
相關文章:
国产综合久久一区二区三区