簡體   English   中英

如何在python中使用zip()時確保所有文件都已成功壓縮,是否有任何功能可以檢查或確認?

[英]How to ensure that all files were successfully zipped while using the zip() in python,is there any function to check or acknowledge?

我使用shutil .make_archive(“arch”,“zip”,path)壓縮所有文件,並想知道是否所有文件都是壓縮的。我使用下面的代碼來壓縮文件。

shutil.make_archive("arch", "zip", r"path")

正如凱文/其他人在Python中指出的那樣(以及大多數帶有“異常處理”的語言),你可以預期大多數例程會在錯誤條件下引發/拋出異常

如果您關心細節,相關的Python源代碼在shutilzipfile中 ,您可以看到它們使用適當的“上下文管理器”並根據需要raise異常,但主要依賴於較低級別的文件操作來拋出

如果您想要一些人工輸出來監控進度,您可以使用logging基礎結構,例如:

import logging
logging.basicConfig(level=0)

shutil.make_archive("arch", "zip", "path", logger=logging)

(有關更多詳細信息,請參閱教程 )將使其提供更多輸出

我不明白你為什么要那樣做? 如果make_archive沒有引發任何異常,則path中的所有文件都應該處於arch

無論如何你想知道它,你可以:

  • 使用shutil.unpack_archive解壓縮存檔

  • 使用zipfile來讀取這樣的存檔:

    來自ZipFile導入ZipFile

    使用ZipFile(“arch.zip”)作為myzip:
    打印(myzip.namelist())

此鏈接上的示例3似乎表明shutil.make_archive返回一個字符串,其中包含已創建文件的路徑和文件名。 它顯示用於檢查新創建的存檔的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM