使用os.walk时,我得到了一些非常不一致的结果。我的目标是使用python以编程方式在我的系统上找到另一个python文件。当os.walk没有太多工作要做并只搜索一个或两个文件夹时,这很好用。
import os
from os.path import join
lookfor = "new_id17.py"
for root, dirs, files in os.walk('L:\\HWYS\\D_GROUP6\\STAFF\\myname\\Python'):
for name in files:
print(os.path.join(root, name))
if lookfor in files:
print "found: %s" % join(root, lookfor)
break
使用上面的代码,os.walk可以在很短的时间内轻松找到我的文件。但是,如果我要求它在文件夹目录中的更高点搜索相同的文件,它似乎无法找到该文件:
import os
from os.path import join
lookfor = "new_id17.py"
for root, dirs, files in os.walk("L:\\HWYS"):
for name in files:
print(os.path.join(root, name))
if lookfor in files:
print "found: %s" % join(root, lookfor)
break
有谁知道我哪里出错了? os.walk有任何已知问题吗?或者它不是很擅长搜索大量的文件夹和文件。