Python如何获取所有包含.txt与.jpg文件的目录父路径列表
解决方案
方法一(最简洁,利用已知规则)
既然每个目标目录必然包含一个.txt文件,直接遍历所有.txt文件并取其父目录即可,无需额外处理.jpg路径:
import pathlib root = pathlib.Path("/rootFolder") target_dirs = [p.parent for p in root.rglob("*.txt")]
方法二(更稳妥,兼容异常场景)
如果需要确保仅纳入同时存在两种文件的目录,或者避免规则变动导致的重复,可以用集合自动去重:
import pathlib root = pathlib.Path("/rootFolder") target_dirs = list({p.parent for p in root.rglob("*") if p.suffix in (".txt", ".jpg")})
关键说明
p.parent是pathlib.Path的内置属性,直接返回当前文件的父目录路径对象- 集合
{...}会自动过滤重复的目录(每个目录会被.txt和.jpg各匹配一次) - 最终用
list()将集合转回列表格式,完全匹配你期望的输出结构
内容的提问来源于stack exchange,提问作者Dump Eldor
相关产品推荐
相关产品推荐

