主页 > 软件教程 >

python用zip压缩与解压缩

软件教程 2016-10-09

从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用。zip文件格式信息一个 ZIP 文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 1)压缩源文件数据区,在这个数据区中每一个压缩的源文件/目录都是一条记录,记录的格式如下: [文件头+ 文件数据 + 数据描述符] 2)压缩源文件目录区,在这个数据区中每一条纪录对应在压缩源文件数据区中的一条数据,如果你仅仅是希望用python来做压缩和解压缩,那么就不用去翻文档了,这里提供一个简单的用法,让你一看就能明白。

python用zip压缩与解压缩,压缩,解压缩,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()


标签: python

电脑软硬件教程网 Copyright © 2016-2030 www.computer26.com. Some Rights Reserved.