0

在使用 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 是否存在任何已知问题?或者它只是不太擅长搜索大量文件夹和文件。

4

0 回答 0