📜  解压文件python(1)

📅  最后修改于: 2023-12-03 15:11:57.587000             🧑  作者: Mango

解压文件 Python

在 Python 中,我们可以使用 zipfile 模块来解压缩文件。该模块提供了一种快速、可靠且透明的方法来读取和写入 zip 格式的压缩文件。

解压单个文件

使用 ZipFile 类可以打开 zip 文件,并且使用 extract()extractall() 方法可以解压缩文件。

以下是一个示例代码片段,演示如何解压缩名为 example.zip 的文件中的 example.txt 文件。

import zipfile

zip_path = 'example.zip'
extract_path = './'

with zipfile.ZipFile(zip_path, 'r') as zip_ref:
    zip_ref.extract('example.txt', extract_path)

在上面的代码中,我们首先导入 zipfile 模块,然后指定要解压的 zip 文件的路径和解压缩目录的路径。使用 with 语句打开 zip 文件,然后调用 extract() 方法解压缩文件。注意,extract() 方法的第一个参数应该是文件名,而不是完整的文件路径。

如果要解压缩整个 zip 文件,可以使用 extractall() 方法,如下所示:

with zipfile.ZipFile(zip_path, 'r') as zip_ref:
    zip_ref.extractall(extract_path)

这将解压缩整个 zip 文件。

解压多个文件

如果要从 zip 文件中同时解压缩多个文件,可以使用以下代码:

with zipfile.ZipFile(zip_path, 'r') as zip_ref:
    for file_name in zip_ref.namelist():
        if file_name.endswith('.txt'):
            zip_ref.extract(file_name, extract_path)

该代码将在 zip 文件中查找所有 .txt 文件,并解压缩它们到指定的目录中。

使用压缩文件对象

有时我们不需要将整个 zip 文件解压缩到硬盘上,而只是需要读取其中的一个或多个文件。这时可以使用 ZipFile 类的 open() 方法打开压缩文件对象,然后使用 read() 方法读取文件内容。

以下是一个示例代码片段,演示如何读取名为 example.zip 的文件中的 example.txt 文件。

with zipfile.ZipFile(zip_path, 'r') as zip_ref:
    with zip_ref.open('example.txt') as file:
        contents = file.read()

该代码首先使用 ZipFile 类打开 zip 文件,然后使用 open() 方法打开 example.txt 文件的压缩文件对象。最后,使用 read() 方法读取文件的内容。

结论

使用 Python 的 zipfile 模块,我们可以快速、可靠地解压缩 zip 文件。通过本文提供的方法,可以轻松地解压缩单个文件、多个文件和使用压缩文件对象读取文件内容。