假设我有一个像这样的目录结构
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()
和if directory_set.contains(path)
。如果这个问题让某些人感到困惑,我很抱歉
答案 0 :(得分:2)
答案是否定的。你必须至少走一次树,然后你可以将文件名的查找表存储到可能的目录(例如,pickled,或者sqlite3 dbase),如果你想经常重复使用它。