您的位置:首页技术文章
文章详情页

python用zip压缩与解压缩

【字号: 日期:2022-07-28 17:42:06浏览:3作者:猪猪
从简单的角度来看的话,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 编程
相关文章: