我是python的新手,但学习速度很快。我正在尝试将regex与os.walk一起使用,以忽略我不想处理的目录。我了解您必须就地修改目录,而不要创建新列表。我已经尝试了两种方式。我没有收到任何错误,但它仍然遍历所有目录。排除全目录名可以正常工作。我正在尝试删除名称中带有“ EXP”或“-”或“ 3.2”的所有目录。这是一个我想忽略的示例3.2.2.150-20150424.195805_EXP_manuMain_outOfMemFix
这就是我所拥有的:
def runtest(filepath_udu: object) -> object:
k = 1
for root, dirs, files in os.walk(filepath_udu, topdown=True):
dirs[:] = [item for item in dirs
if item not in ('1node','local','remote')]
dirs[:] = [dir for dir in dirs
if re.search(r'\bEXP\b', dir) not in dirs \
or re.search(r'\b3.2\b', dir) not in dirs \
or re.search(r'\w+(?:- \w+)+', dir) not in dirs]
for file in files:
do something...
我的第二个Dirs [:]被忽略了,我在做什么错?谢谢
冉冉说
相关分类