我有一个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得到了正常工作的代码,但需要实现一个正常工作的正则表达式并排除“值”之后的所有内容
答案 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