我在数百个目录中有数百个常见文件,我将其附加到列表中。有了这个,我想知道最快的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']:
有没有更快的方法呢?
谢谢!
答案 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!")