ITPub博客

首页 > 应用开发 > Python > 如何在 Python 中压缩和解压缩文件?

如何在 Python 中压缩和解压缩文件?

原创 Python 作者:mingtian66 时间:2024-11-13 10:31:22 0 删除 编辑

在 Python 中,您可以使用内置的 zipfile 模块来压缩和解压缩文件。zipfile 提供了对 ZIP 格式的支持,包括创建、读取、追加和解压 ZIP 文件。以下是如何使用 zipfile 来进行压缩和解压缩的示例。
压缩文件:

import zipfile

def compress_file(zip_filename, files_to_compress):
    # 创建一个 zip 文件并将文件添加到其中
    with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for file in files_to_compress:
            zipf.write(file, arcname=file.split('/')[-1])  # arcname 用于定义压缩包中保存的文件名

# 使用示例
files = ['file1.txt', 'file2.txt']  # 要压缩的文件列表
compress_file('archive.zip', files)

解压缩文件:

import zipfile

def decompress_file(zip_filename, extract_to_dir):
    # 解压 ZIP 文件
    with zipfile.ZipFile(zip_filename, 'r') as zipf:
        zipf.extractall(extract_to_dir)  # 解压到指定目录

# 使用示例
decompress_file('archive.zip', './extracted_files')

详细说明:

    压缩文件:
        使用 zipfile.ZipFile 打开(创建)一个 zip 文件,模式 'w' 表示写模式。
        zipf.write() 方法将文件添加到压缩包中。arcname 参数指定压缩包中保存的文件名(如果不使用 arcname,压缩包中的文件将使用完整的路径)。
    解压缩文件:
        使用 zipfile.ZipFile 以 'r' 模式打开一个压缩文件(读取模式)。
        zipf.extractall() 解压文件到指定目录(默认为当前目录)。

其他功能:

    列出压缩包中的文件:

with zipfile.ZipFile('archive.zip', 'r') as zipf:
    print(zipf.namelist())  # 输出压缩包中的所有文件名

解压单个文件:

    with zipfile.ZipFile('archive.zip', 'r') as zipf:
        zipf.extract('file1.txt', './extracted_files')  # 解压指定文件

备注:

    zipfile.ZIP_DEFLATED 是默认的压缩方法,它是基于 DEFLATE 算法的压缩方法。如果不指定,zipfile 会自动使用它。
    zipfile.ZipFile 还支持其他操作,如追加文件、读取文件内容等。

这样,您可以轻松地使用 zipfile 模块来进行文件的压缩和解压缩操作。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3048577/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    603013