站点图标 AI技术聚合

使用 Python 解压缩文件 — Python 编程 — PyShark

使用 Python 解压缩文件 — Python 编程 — PyShark

在本教程中,我们将探讨如何使用 Python 解压缩文件

Table of Contents

  • Introduction
  • 创建示例 ZIP 文件
  • 使用 Python 从 ZIP 文件中提取所有文件
  • 使用 Python 从 ZIP 文件中提取单个文件
  • 使用 Python 根据条件从 ZIP 文件中提取文件
  • Conclusion

Introduction

ZIP 文件是我们经常看到的东西。它只是一个包含多个压缩文件的文件(存档)。

它对于有效的数据传输以及通过减小文件大小来存储更大的文件很有用。

一次处理多个 ZIP 文件可能是一项非常手动的任务,但是 Python 允许我们有效地处理多个 ZIP 文件并非常快速地从中提取数据。

要继续学习本教程,我们将需要以下 Python 库:zipfile(Python 内置)。

创建示例 ZIP 文件

为了继续本教程,我们需要一个 ZIP 文件。

如果你已经有了,那就太好了。如果您不这样做,请随意下载我创建并上传到 Google Drive 的示例 ZIP 文件 (my_files.zip)。[0]

此 ZIP 文件包含三个文件:

  • customers.csv
  • products.csv
  • code_snippet.png

下载后,将其放在与 Python 代码文件相同的目录中。

使用 Python 从 ZIP 文件中提取所有文件

我们手动使用 ZIP 文件执行的最常见任务之一是从中提取所有文件。

在 Python 中使用 zipfile 库,我们可以用几行代码做到这一点:

我们需要做的就是创建一个 ZipFile 类的实例,并将 ZIP 文件的位置和“读取”模式作为参数传递给它,然后使用 .extractall() 方法提取所有文件。

这是编写相同代码的另一种方法:

在这两种情况下,这三个文件都将从 ZIP 文件中提取。

使用 Python 从 ZIP 文件中提取单个文件

我们可能需要完成的另一项任务是使用 Python 从 ZIP 文件中提取特定的单个文件。

首先,让我们找到归档在 ZIP 文件中的文件列表:

你应该得到:

['code_snippet.png', 'customers.csv', 'products.csv']

假设我们只想提取 customers.csv 和 products.csv 文件。

由于我们知道文件的名称,因此我们可以在使用 Python 从 ZIP 文件中提取文件时将它们用作标识符:

您应该会看到两个 .csv 文件被提取到您的 Python 代码所在的同一文件夹中。

使用 Python 根据条件从 ZIP 文件中提取文件

在上面的示例中,我们使用 Python 从 ZIP 文件中提取了两个 .csv 文件。

仅当我们处理几个文件时,一个一个地提取单个文件才有效。

假设我们现在有一个包含数百个文件的大型 ZIP 文件,我们只想提取 CSV 文件。

我们可以根据文件名中的某些条件提取这些文件。

对于 CSV 文件,它们的名称以“.csv”结尾,我们可以在使用 Python 从 ZIP 文件中提取文件时将其用作过滤条件:

您应该会看到从 ZIP 文件中提取的两个 CSV 文件,这与上一节中的结果相同。

Conclusion

在本文中,我们探讨了如何使用 Python 从 ZIP 文件中提取文件。

如果您有任何问题或对某些编辑有建议,请随时在下面留下评论,并查看更多我的 Python 编程教程。[0]

最初于 2022 年 5 月 9 日在 https://pyshark.com 上发布。[0]

文章出处登录后可见!

已经登录?立即刷新
退出移动版