Python程序读取并打印zip文件中的所有文件


多个文件被压缩在一起并存储在一个称为zip文件的文件格式中。它有一些应用,例如文件管理、数据处理、文件转换以及文件备份和归档。在Python中,我们有内置的zip函数,如infolist()和namelist(),可用于读取和打印zip文件中的所有文件。我们利用预定义的方法'namelist()'或'infolist'读取zip文件夹中的数据,以便输出当前存在于zip文件中的所有文件。

输入

// 这是一个zip文件夹

输出

zip文件内的文件列表 -


语法

以下语法在示例中使用 -

with zipfile.Zipfile("filename.zip", "r")

上述预定义方法定义了zip文件中的读取和写入操作。它接受两个参数 -

  • filename.zip - 指定zip文件的名称。

  • r - r是读取模式,用于读取zip文件内文件名的列表

namelist()

namelist()是Python中一个预定义的方法,用于从zip中获取文件列表。

infolist()

Python中的infolist()方法包含zip文件的所有信息。

示例 1

在下面的示例中,我们将使用'zipfile'模块开始程序。然后使用名为with zipfile.Zipfile()的预定义方法打开zip文件,该方法接受两个参数,即'Combine.zip'(zip文件)和'r'(读取zip的所有文件的列表)。然后在名为'file_list'的变量中使用预定义的方法namelist(),它将查找zip文件内的文件列表。最后,借助变量'file_list'打印结果。

import zipfile
with zipfile.ZipFile('Combine.zip', 'r') as zip_file:
   file_list = zip_file.namelist()
   print("The file list are:",file_list)

输出

The file list are: ['mydoc.txt', 'Namebox.txt', 'tutebox.txt']

示例 2

在这个程序中,我们将从导入zipfile模块开始程序。然后使用'with zipfile.Zipfile()'方法打开zip文件。此方法接受两个参数 - Combine.zip(指定zip文件名)和r(文件处理中的'r'模式读取zip文件的所有现有文件)。为了获取所有文件的列表,使用了预定义的方法'infolist()'。接下来,创建名为file_list的空列表变量,以保存zip文件内所有文件的名称。继续使用for循环从zip文件中提取文件信息,并使用append()方法添加文件列表。最后,借助file_list打印zip文件夹中的所有文件列表。

import zipfile
with zipfile.ZipFile('Combine.zip', 'r') as zip_file:
   file_info_list = zip_file.infolist()
   file_list = []
   for file_info in file_info_list:
      file_list.append(file_info.filename)
   print("The file list are-",file_list)

输出

The file list are: ['mydoc.txt', 'Namebox.txt', 'tutebox.txt']

结论

我们讨论了该模块如何帮助读取和提取Zip文件中的文件。我们使用“ZipFile”类读取zip文件的内容并提取特定的文件或目录。然后我们看到了使用namelist()(示例1)和infolist()(示例2)方法查找zip文件中的所有文件的列表的不同之处。

更新于: 2023年6月1日

5K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告