压缩目录的os.listdir模拟

瓦西里

我的目标是列出zip归档文件内特定子目录中包含的所有文件

os.listdir(target_dir)引发FileNotFoundError,并zfile.namelist()仅列出所有目录中的所有文件。

有任何想法吗?

西蒙·柯斯滕

请尝试以下方法:

files = list(filter(lambda f: f.startswith("subdir"), zfile.namelist()))

print(files)

说明:filter过滤器通过提供的名单zfile.namelist()lambda被检查文件名是否与“子目录”开始。

filter函数不返回列表,而是返回一个过滤器对象(生成器),因此我们需要将其转换为列表。

您还可以使用以下行进行相同操作,但使用列表推导:

files = [f for f in zfile.namelist() if f.startswith("subdir")]

编辑:正如advance512指出的:“此解决方案的问题在于,它还会在您正在检查的子目录内的子目录中返回文件。”:

files = [f for f in zfile.namelist() if f.startswith("subdir") and f.count("/") == 1]

这将不会返回子目录中的任何文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用pytest,如何与os.listdir一起模拟pathlib的Path.isdir()函数

来自分类Dev

python-忽略os.listdir()中的目录

来自分类Dev

os.listdir看不到我的目录

来自分类Dev

Python-2.x:不带os.listdir()的列表目录

来自分类Dev

使用os.listdir(),查看对象是文件还是目录

来自分类Dev

排序文件然后目录 os.listdir PYTHON

来自分类Dev

python os.listdir 没有这样的文件或目录

来自分类Dev

Python-os.listdir的顺序

来自分类Dev

Python,os.listdir()错误

来自分类Dev

如何在os.listdir中查找文件并跳过目录

来自分类Dev

为什么将os.listdir设置为目录时显示给文件?

来自分类Dev

listdir()没有这样的文件或目录

来自分类Dev

UTF-8和os.listdir()

来自分类Dev

使os.listdir()列出完整路径

来自分类Dev

在python中订购os.listdir()

来自分类Dev

在python中订购os.listdir()

来自分类Dev

os.listdir正在删除字符重音

来自分类Dev

排序os.listdir文件Python

来自分类Dev

os.listdir使用数组输入

来自分类Dev

os.listdir()却什么也没显示

来自分类Dev

在python中订购os.listdir()

来自分类Dev

os.listdir()是确定性的吗?

来自分类Dev

使用 os.listdir 忽略特定文件

来自分类Dev

压缩目录

来自分类Dev

Python:os.isfile()和os.listdir()之间的分歧

来自分类Dev

压缩最终压缩了主目录

来自分类Dev

os.listdir()不会在九个文件之后

来自分类Dev

Python os.listdir()不断跳过某些文件吗?

来自分类Dev

python/os.listdir/读取子文件夹