Python Zip 压缩:使用 'zipfile' 模块压缩文件夹

使用 Python 内置的 'zipfile' 模块,可以轻松地将文件夹压缩成 ZIP 文件。以下是一个简单的示例代码,展示如何压缩一个文件夹:

import zipfile
import os

def zip_directory(directory_path, zip_path):
    with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, _, files in os.walk(directory_path):
            for file in files:
                file_path = os.path.join(root, file)
                zipf.write(file_path, arcname=os.path.relpath(file_path, directory_path))

# 调用示例
directory_path = '/path/to/directory'
zip_path = '/path/to/zipfile.zip'
zip_directory(directory_path, zip_path)

代码解释:

  1. 导入模块: import zipfileimport os 用于使用 ZIP 压缩功能和文件系统操作。
  2. 定义函数: zip_directory 函数接受两个参数:directory_path 表示要压缩的文件夹路径,zip_path 表示生成的 ZIP 文件路径。
  3. 创建 ZipFile 对象: with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf: 使用 with 语句创建一个 ZipFile 对象,参数 'w' 表示写入模式,zipfile.ZIP_DEFLATED 指定使用 Deflate 压缩算法。
  4. 遍历文件夹: 使用 os.walk 遍历 directory_path 中的每个文件和文件夹。
  5. 添加文件: 使用 zipf.write(file_path, arcname=os.path.relpath(file_path, directory_path)) 将每个文件添加到 ZIP 文件中。arcname 参数指定在 ZIP 文件中的文件路径,使用 os.path.relpath 保持文件在 ZIP 文件中的相对路径结构。
  6. 调用函数: 使用 zip_directory(directory_path, zip_path) 调用函数进行压缩。

注意:

  • ZIP_DEFLATED 是默认的压缩算法,你也可以根据需要选择其他算法,例如 zipfile.ZIP_STORED(无压缩)等。
  • 确保你的 Python 环境已经安装了 'zipfile' 模块。如果没有安装,可以使用以下命令安装:
pip install zipfile

现在,你可以使用这段代码轻松地将文件夹压缩成 ZIP 文件了。

Python Zip 压缩:使用 zipfile 模块压缩文件夹

原文地址: https://www.cveoy.top/t/topic/bnqO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录