0

假设我有一个这样的目录结构

Directory of C:\treeofbkup

10/17/2012  01:59 PM    <DIR>          .
10/17/2012  01:59 PM    <DIR>          ..
10/17/2012  01:59 PM             7,209 index
10/17/2012  01:59 PM    <DIR>          objects
               1 File(s)          7,209 bytes
               3 Dir(s)  912,672,129,024 bytes free

文件夹中包含的文件objects

我的问题是有没有一种方法可以检查文件是否不考虑名称objects(比如我不知道该文件夹名称)?无需编写 for 循环来手动遍历我的目录结构的路径?

def search(path, file):
    for  (dirpath, dirnames, filenames) in os.walk(path):
        for f in filenames:
            if file == f:
                return True #hey look here is my file
    return False #oops couldnt find your file sorry

我追求的解决方案类似于directory_set = set()and if directory_set.contains(path)。如果这个问题让某些人感到困惑,我很抱歉

4

1 回答 1

2

答案是不。您必须至少遍历树一次,然后如果您想经常重用它,您可以将文件名查找表存储到可能的目录(例如腌制或 sqlite3 dbase)。

于 2012-10-17T01:19:07.743 回答