分享一个python实例,使用python中的zipfile模块打包文件或目录、解压zip文件,对中文的支持不是很好,但打包与解压的性能上还是不错的,有需要的朋友参考下。
本节主要内容:
使用python zipfile模块打包文件或是目录、解压zip文件。
注意,解压对中文的支持不太好,不包含中文的话没有问题。
tips:有研究zipfile模块中文解压的朋友,欢迎分享下你的经验。
有关zipfile模块的详细介绍,请参考这篇文章:Python zipfile模块学习 。
代码:
复制代码 代码示例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#site: www.jb200.com
#
from zipfile import *
import zipfile
#解压zip文件
def unzip():
source_zip="c:updateSW_Servers_20120815.zip"
target_dir="c:update"
myzip=ZipFile(source_zip)
myfilelist=myzip.namelist()
for name in myfilelist:
f_handle=open(target_dir+name,"wb")
f_handle.write(myzip.read(name))
f_handle.close()
myzip.close()
#添加文件到已有的zip包中
def addzip():
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('file_to_add.py')
f.close()
#把整个文件夹内的文件打包
def adddirfile():
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
startdir = "c:mydirectory"
for dirpath, dirnames, filenames in os.walk(startdir):
for filename in filenames:
f.write(os.path.join(dirpath,filename))
f.close()