📅  最后修改于: 2023-12-03 15:11:57.587000             🧑  作者: Mango
在 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 文件。通过本文提供的方法,可以轻松地解压缩单个文件、多个文件和使用压缩文件对象读取文件内容。