如何在 Python 中使用 zipfile 模块列出文件夹的文件

Posted

技术标签:

【中文标题】如何在 Python 中使用 zipfile 模块列出文件夹的文件【英文标题】:How to list a folder's files using the zipfile module in Python 【发布时间】:2014-07-21 15:23:59 【问题描述】:

我有一个 .zip 文件,其中包含大量文件和目录。它的结构类似于下面的草图。

/
contents/
  --file1.txt
  --file2.txt
lists/
  --file3.txt
  --file4.txt
file5.txt
file6.txt

我目前有兴趣列出(和阅读)位于名为 contents 的特定子文件夹中的文件。

但是我似乎找不到一个有用的函数来做到这一点,因为 zipfile 模块的namelist 函数只会列出每个signle 文件。我能想到的唯一另一种方法是提取临时文件夹中的所有内容,读取我需要的内容,然后将其删除。但我认为这是一种愚蠢的做法。

还有其他想法吗?

提前致谢。

【问题讨论】:

【参考方案1】:

过滤它。

dirfiles = [f for f in z.namelist() if f.startswith(pathprefix)]

【讨论】:

以上是关于如何在 Python 中使用 zipfile 模块列出文件夹的文件的主要内容,如果未能解决你的问题,请参考以下文章

python3中zipfile模块的常用方法

python模块 zipfile

Python之zipfile模块的使用

如何使用 python 提取封闭的 zip

使用 ZipFile 模块从 zipfile 中删除文件

Python的zipfile模块无法更新条目[重复]