Python for循环排除某些文件夹名称 - 正则表达式

时间:2016-02-01 12:22:29

标签: python for-loop

我有一个for循环遍历我给它的根目录,并递归查看文件中某些字符串的所有文件夹。但是,我想排除某些文件夹被递归查看,并跳过它们包含的文件。

我目前使用的是静态值,“values-af”,“values-am”。但是我有91个“值 - ##”,因此不想列出所有变体。我在变量'skip'中尝试了一个reg ex但是无法正常工作。

rootpath=outDir
#skip=re.compile('values-([\w])+')
exclude=set(['values-af','values-am'])
for path,name,fname in os.walk(rootpath):
    name[:] = [d for d in name if d not in exclude] 
    [more code]

如何在上面的代码中实现正确的正则表达式以匹配“值”之后的任何内容 例如。 values-gf,values-fgh-rHK,values-h24,values-g4dghd

tl; dr得到了正常工作的代码,但需要实现一个正常工作的正则表达式并排除“值”之后的所有内容

1 个答案:

答案 0 :(得分:0)

一般可能性如下:

rootpath=outDir
skip = ["str-am", "str-de", "str-es"]
    for path,name,fname in os.walk(rootpath):
        if name in skip: # or path in skip or fname in skip, whatever you want
            continue
        # Stuff
相关问题