概述
在某些情況下,需要選擇性地從存檔中刪除檔案。可以根據遮罩或任何其他標準執行刪除。Python 從 ZIP 檔案中刪除文件
delete_entry 方法用於從 ZIP 檔案中刪除整個條目。此操作是獨立的,不需要重新處理整個存檔。
ZIP 檔案的條目可以使用
DeleteEntry
方法來刪除。刪除條目無需重新打包,因此其他條目保持不變,無需解壓縮和重新壓縮。
with zp.Archive("archive.zip") as archive:
while len(archive.entries) > 1:
archive.delete_entry(archive.entries[0])
archive.save("last_entry.zip")
此程式碼處理現有的 ZIP 檔案「archive.zip」。它會連續刪除除最後一個條目之外的所有條目,從而有效地建立一個名為「last_entry.zip」的新存檔,其中僅包含剩餘的檔案。
從 TAR 中刪除文件
delete_entry 方法對於從 TAR 檔案中刪除條目也很有效。此過程獨立運行,無需重新處理整個存檔。透過對TAR檔案使用delete_entry方法,如下例所示,可以無縫刪除條目,確保剩餘條目不受影響,不進行解壓縮或重新壓縮。
with zp.tar.TarArchive("two_files.tar") as archive:
archive.delete_entry(0)
archive.save("single_file.tar")
如果要從壓縮 tar (*.tar.gz) 中刪除條目,則需要將其解壓縮為純 *.tar。
CPIO 從檔案中刪除文件
與 TAR 類似,可以從 CPIO 中刪除條目。
with zp.cpio.CpioArchive("two_files.cpio") as archive:
archive.delete_entry(archive.entries[0]).save("single_file.cpio")
請記住,delete_entry 方法會傳回存檔實例。在某些情況下,這將幫助您使程式碼更加緊湊。
從 XAR 檔案中刪除
Xar 檔案還具有單一條目刪除方法delete_entry。
with zp.xar.XarArchive("archive.xar") as archive:
while len(archive.entries) > 1:
archive.delete_entry(0)
archive.save("last.xar")
此範例展示了隔離處理,這表示它修改存檔而不影響剩餘條目的壓縮狀態。程式碼迭代地從「archive.xar」中刪除條目,直到只剩下一個條目。最後,產生的檔案儲存為「last.xar」。
Python.Net API 支援的其他 Aspose.ZIP 功能
透過Python.Net中的Aspose.ZIP庫,您可以無縫處理與ZIP文件文件相關的各種任務。無論您需要轉換格式、合併文件、編輯內容或提取數據,Aspose.ZIP 都提供全面的功能來簡化您的工作流程並提高工作效率。