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+ 閱讀量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.