Python 解压压缩包

介绍

在日常的编程工作中,我们常常需要处理各种压缩文件,如 zip、tar、gzip 等。Python 提供了强大的标准库来处理这些压缩文件,使我们能够轻松地进行解压和压缩操作。本文将介绍如何使用 Python 解压和压缩压缩包,并提供相应的代码示例。

解压压缩包

Zip 压缩包

Zip 是一种常见的压缩格式,它可以包含多个文件和文件夹。Python 的 zipfile 模块提供了处理 Zip 压缩包的功能。

以下是一个解压 Zip 压缩包的示例代码:

import zipfile

# 打开要解压的压缩包
with zipfile.ZipFile('example.zip', 'r') as zip_ref:
    # 解压全部文件到指定目录
    zip_ref.extractall('destination_folder')

上述代码首先使用 zipfile.ZipFile 打开了名为 "example.zip" 的压缩包,并指定了打开模式为只读模式 ('r')。然后,使用 extractall 方法将压缩包中的所有文件解压到指定的目录 "destination_folder" 中。

Tar 压缩包

Tar 是一种常用的压缩格式,常用于在 Unix 系统中打包和压缩文件。Python 的 tarfile 模块提供了处理 Tar 压缩包的功能。

以下是一个解压 Tar 压缩包的示例代码:

import tarfile

# 打开要解压的压缩包
with tarfile.open('example.tar.gz', 'r:gz') as tar_ref:
    # 解压全部文件到指定目录
    tar_ref.extractall('destination_folder')

上述代码首先使用 tarfile.open 打开了名为 "example.tar.gz" 的压缩包,并指定了打开模式为只读模式 ('r') 和压缩格式为 gzip ('gz')。然后,使用 extractall 方法将压缩包中的所有文件解压到指定的目录 "destination_folder" 中。

Gzip 压缩文件

Gzip 是一种常见的文件压缩格式,常用于压缩单个文件。Python 的 gzip 模块提供了处理 Gzip 压缩文件的功能。

以下是一个解压 Gzip 压缩文件的示例代码:

import gzip

# 打开要解压的压缩文件
with gzip.open('example.txt.gz', 'rb') as gz_ref:
    # 解压文件内容
    uncompressed_data = gz_ref.read().decode('utf-8')
    print(uncompressed_data)

上述代码首先使用 gzip.open 打开了名为 "example.txt.gz" 的压缩文件,并指定了打开模式为二进制读模式 ('rb')。然后,使用 read 方法读取压缩文件的内容,并使用 decode 方法将其解码为文本格式。最后,打印解压后的文本内容。

压缩压缩包

除了解压缩,Python 也可以用于创建压缩包。下面是一些示例代码。

创建 Zip 压缩包

以下是一个创建 Zip 压缩包的示例代码:

import zipfile

# 创建一个新的 Zip 压缩包
with zipfile.ZipFile('example.zip', 'w') as zip_ref:
    # 添加一个文件到压缩包
    zip_ref.write('file1.txt')
    # 添加一个文件夹到压缩包
    zip_ref.write('folder1', arcname='folder1')

上述代码首先使用 zipfile.ZipFile 创建了一个名为 "example.zip" 的新的 Zip 压缩包,并指定了打开模式为写入模式 ('w')。然后,使用 write 方法将文件 "file1.txt" 和文件夹 "folder1" 添加到压缩包中。

创建 Tar 压缩包

以下是一个创建 Tar 压缩包的示例代码:

import