python2.7 zipfile 的簡單用法


簡要說明使用python 進行 zip 文件壓縮和解壓縮的方法

1 代碼示例

#! /usr/bin/env python
#  -*- coding: UTF-8 -*-
import zipfile
import os


def decompress_file(zip_file_path):
    """
    解壓文件到某個目錄
    :param zip_file_path:    待解壓的zip 文件路徑
    :return:
    """
    with zipfile.ZipFile(zip_file_path, 'r') as z:
        # 解壓全部
        z.extractall('./zipfile')


def compress_file(zipfilename, dirname):
    """
    壓縮某個目錄下的所有文件
    :param zipfilename:    壓縮文件的路徑
    :param dirname:        待壓縮的目錄
    :return:
    """
    if os.path.isfile(dirname):
        with zipfile.ZipFile(zipfilename, 'w') as z:
            z.write(dirname)
    else:
        with zipfile.ZipFile(zipfilename, 'w') as z:
            for root, dirs, files in os.walk(dirname):
                for singlefile in files:
                    if singlefile != zipfilename:
                        filepath = os.path.join(root, singlefile)
                        z.write(filepath)


def check_zipfile_list(zip_file_path):
    """
    查看zip 壓縮文件中的文件列表
    :param zip_file_path:    zip 壓縮文件的路徑
    :return:
    """
    if not os.path.exists(zip_file_path) and os.path.isfile(zip_file_path):
        return
    with zipfile.ZipFile(zip_file_path, 'r') as z:
        print z.namelist()


def add_file(zipfilename, addfile):
    """
    添加文件到壓縮文件
    :param zipfilename:    已存在的zip 壓縮文件路徑
    :param addfile:        待添加到zip 壓縮文件中的文件路徑
    :return:
    """
    if os.path.isfile(addfile):
        with zipfile.ZipFile(zipfilename, 'a') as z:
            z.write(addfile)


if __name__ == '__main__':
    # add_file('./testdata/1.zip', './testdata/2.txt')
    # check_zipfile_list('./testdata/1.zip')
    # decompress_file('./testdata/1.zip')
    compress_file('testdata.zip', './testdata')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM