Python通过目录递归,寻找某些文件最快的方法?

时间:2015-03-10 20:49:12

标签: python

我在数百个目录中有数百个常见文件,我将其附加到列表中。有了这个,我想知道最快的python方法来递归目录+ x个子目录寻找某个文件:

我已经为下面的每种方法记录了50次模拟测试的时间。两者之间似乎没有太大的显着差异(方法1平均快约0.2秒):

方法1:

for root, dirs, files in os.walk(inputDir):
    for f in files:
        if f == fileName + '.xyz':

方法2:

for root, dirs, files in os.walk(inputDir):
    for f in [x for x in files if x == fileName + '.xyz']:

有没有更快的方法呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

代替

for root, dirs, files in os.walk(inputDir):
    for f in [x for x in files if x == fileName + '.xyz']:

使用此:

filename = 'file.xyz'
for root, dirs, files in os.walk(inputDir):
    if(filename in files):
        print("File found!")