Python 2.7 使用os.WACK跳过列表中的目录?

Python 2.7 使用os.WACK跳过列表中的目录?,python-2.7,for-loop,os.walk,Python 2.7,For Loop,Os.walk,我有一个工作函数,从图像目录生成一个列表 def jpg_descended(folder): matches = [] for root, dirnames, filenames in os.walk(unicode(folder)): for extension in ('*.jpg', '*.jpeg', '*.png'): for filename in fnmatch.filter(filenames, extension):

我有一个工作函数,从图像目录生成一个列表

def jpg_descended(folder):
    matches = []
    for root, dirnames, filenames in os.walk(unicode(folder)):
        for extension in ('*.jpg', '*.jpeg', '*.png'):
            for filename in fnmatch.filter(filenames, extension):
                    matches.append(os.path.join(root, filename))
    return sorted(matches, key=os.path.getmtime, reverse=True)
但是我怎样才能让它跳过我放在列表中的目录呢

excludes = ["october", "december"]
我希望它不会返回名为“十月”或“十二月”的目录或我可能添加到排除列表的任何其他目录中的任何内容


非常感谢您提供的所有帮助。

您可以通过删除符合您要求的目录,就地编辑
目录名。当
os.walk
topdown=True
(默认值)时,会阻止枚举这些目录

确保它是就地编辑,例如:

dirnames[:] = [dirname for dirname in dirnames if dirname not in excludes]
可能重复的