python zipfile模块打包文件或目录、解压zip文件的例子

发布时间:2020-12-31编辑:脚本学堂
分享一个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()