![](/img/trans.png)
[英]How do I determine whether an item in python ZipFile is dir or file?
[英]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.