【发布时间】:2020-02-21 22:27:09
【问题描述】:
假设我有以下目录结构
PROJECT
|
+ BUILD
| |
| + STH1
| | |
| | + 6.11.2
| | |
| | + 6.11.3
| | |
| | + .....
| + STH2
| | |
| | + 6.11.2
| | |
| | + 6.11.3
| | |
| | + .....
+ COMMON
| |
| + 6.11.2
| |
| + ....
在python的PROJECT目录中查找所有6.11.2目录最有效的方法是什么?
我尝试过使用
glob.glob('PROJECT/**/6.11.2', recursive=True)
它有效,但对我来说不是最好的解决方案,因为它还会查找类似的目录
PROJECT/BUILD/STH1/6.11.2/6.11.2
所以需要很多时间,我只需要找到目录 6.11.2 的第一次出现,所以深入搜索它是浪费时间(类似 sth/6.11.2/6.11.2 的情况也会不会发生在我的结构中)
有没有更好的方法在 python 中进行搜索?
请注意,6.11.2 也是一个相当复杂的目录,有很多文件和子目录,这就是为什么递归搜索要花很多时间。
【问题讨论】:
-
是否需要使用 glob.? ....我使用 os.walk
标签: python algorithm directory glob os.path