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文件中的所有文件的列表的不同之处。