如果找不到与搜索条件匹配的文件,则使用os.walk搜索文件 - Python

时间:2015-08-20 17:11:11

标签: python regex os.walk

现在我正在使用os.walk递归搜索任何autorun.inf文件的目录和子目录。我知道我没有以最好的方式做到这一点,所以如果你有更好的方法,请告诉我。如果找到任何匹配的自动运行,它将输出匹配条件的每个文件的文件内容。 但是,当我尝试为没有找到匹配的文件时创建一个else语句时,它会为每个不匹配的文件打印“没有匹配找到的条件的文件”,而不是只有一次,如果这有意义的话。如果没有找到符合条件的文件,我只想说它一次。 这是我到目前为止所拥有的。

import os
from os.path import join
for (dirname, dirs, files) in os.walk('/home/user/Documents/mystuff'):
    for filename in files:
    if filename.startswith('autorun'):
        thefile = os.path.join(dirname,filename)
        f = open(thefile)
        print f.read()
    else:
        print "No file matched the criteria"

1 个答案:

答案 0 :(得分:0)

found = False

for (dirname, dirs, files) in os.walk('/home/user/Documents/mystuff'):
    for filename in files:
        if filename.startswith('autorun'):
            thefile = os.path.join(dirname,filename)
            f = open(thefile)
            print f.read()
            found = True

if not found:
    print "No file matched the criteria"