Python zip压缩及解压

zipfile模块简介
zipfile模块() 用于压缩文件成zip及解压zip文件,模块介绍如下。
·zipfile.ZipFile(file, mode) open a ZIP file,where file can be either a path to a file or a file-like object. mode can be read “r” , write “w”, or append “a”以某种模式打开ZIP 文档. 默认值为’r’ 表示读已经存在的zip文件,‘w’ 表示新建一个zip文档或覆盖一个存在的同名zip文档, ‘a’ 表示将数据附加到一个现存的zip文档中。

在 class zipfile.ZipFile的里面有如下模块:
·ZipFile.namelist() return a list of archive members by name. 返回一个列表包含zipfile里面的文件
·ZipFile.close() close the archive file。当解压完zip文件以后关闭zipfile.
·ZipFile.extractall(self, path=None, members=None, pwd=None) Extract all members from the archive to the current working directory. Path specified a different directory to extract to. Member is optional and must be subset of the list returned by namelist().
解压全部文件到当前路径,也可以加压到指定路径。
·ZipFile.extract(self, member, path=None, pwd=None) extract a member from the archive to the current working directory, member must be its full name. 从ZIP文件里解压一个文件到当前路径,该文件必须以全名给定。
·ZipFile.setpassword(pwd) set pwd as default password to extract encrypted files. 设置一个默认密码用于解压文件。
·ZipFile.write(filename) write the file named filename to the archive. 将文件写入zip文档。
 
 
代码:
·压缩文件成zip包
import zipfile
import sys
import os
filepath = sys.argv[1]
outputpath = sys.argv[2]
os.chdir(filepath)
filelist = os.listdir(filepath) # list the files need to achieve
zipfilename = filepath.split("/")[-1] #fetch the last name of path as zipfile name
ZipFileobj = zipfile.ZipFile(filepath+"/"+ zipfilename +".zip", 'w') #create a zip file
 
for files in filelist:# use “for” to add files into zip file
    ZipFileobj.write(files)
 
ZipFileobj.close()
print "zipfile already created!"
·解压zip包
import zipfile
import sys
 
zipfilepath = sys.argv[1]
outputpath = sys.argv[2]
print zipfilepath
 
zipfiles = zipfile.ZipFile(zipfilepath, "r")
zipfiles.extractall(outputpath)
zipfiles.close()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ae8d479f10fc97047dfc90461b0884d1.html