如何用ZipFile.write()压缩打包文件夹

本文介绍如何利用Python的ZipFile模块遍历文件夹并进行压缩打包。通过folder2zip.py脚本,定义了两个核心函数,一个负责实际的压缩操作,另一个在运行时检查目标压缩文件是否存在,并根据用户确认决定是否继续压缩。
部署运行你感兴趣的模型镜像

要用os.walk()遍历文件夹。
这个folder2zip.py程序定义了两个函数:
一个只执行打包压缩的函数,
一个使用时调用的函数,包含执行压缩的函数,同时判断压缩包是否已存在,如果已存在则询问是否继续压缩。

import os
from zipfile import ZipFile

def backupZip(folder):                                #这个函数只做文件夹打包的动作,不判断压缩包是否存在             
    zipfile_name = os.path.basename(folder) + '.zip'    #压缩包和文件夹同名
    with ZipFile(zipfile_name, 'w') as zfile:           #以写入模式创建压缩包
        for foldername, subfolders, files in os.walk(folder):    #遍历文件夹
            print('Adding files in ' + foldername +'...')
            zfile.write(foldername)
            for i in files:
                zfile.write(os.path.join(foldername,i))
                print('Adding ' + i)
    print('Done.')


def folder2zip(folder):                               #文件夹打包为zip的函数
    zipfile_name = os.path.basename(folder) + '.zip'                    
    if not os.path.exists(zipfile_name):          #检查压缩包是否存在,如果已存在则询问是否继续
        backupZip(folder)
    else:
        response = input("Zipfile exists. Coutinue?('q' for quit): ")
        if response != 'q':
            backupZip(folder)

运行:

folder2zip('example')

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值