簡體   English   中英

如何識別 ZipFile 中的項目是否為目錄

[英]How to identify whether an item inside ZipFile is a directory

考慮一個 zip 文件,其中包含一個目錄,里面有一些文件,例如sample.zip的內容是:

Archive:  ziptest.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  03-28-2022 21:00   ziptest/
        0  03-28-2022 21:00   ziptest/folderA/
        0  03-28-2022 21:00   ziptest/folderB/
        0  03-28-2022 21:00   ziptest/folderA/file1.txt
        0  03-28-2022 21:00   ziptest/folderB/file2.txt
---------                     -------
        0                     5 files

如何區分 Python 中的文件和目錄? (也許忽略這一點

from zipfile import ZipFile

archive = ZipFile("ziptest.zip")
print(archive.namelist())
# ['ziptest/', 'ziptest/folderA/', 'ziptest/folderB/', 'ziptest/folderA/file1.txt', 'ziptest/folderB/file2.txt']

一種方法是假設文件是具有擴展名的文件,但情況並非總是如此。 我嘗試將.namelist()的元素包裝在pathlib.Path中,但這不起作用。 此外,可以查看文件大小來區分文件,但這會在空文件上給出錯誤信號。

測試文件狀態的唯一方法是檢查“/”是否在元素末尾嗎?

根據 文檔

from zipfile import ZipFile, Path
archive = ZipFile('ZIP_PATH')
for name in archive.namelist():
    print(Path(root= archive, at= name).is_dir())

暫無
暫無

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

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