import os
for root, dir, file in os.walk('./'):
if os.path.basename(root) == "忽略父文件夹":
dir[:] = [] # 忽略当前目录下的子目录
# 为什么用dir[:] = [],而不用dir = [] ? dir = []并没有改变原来的列表,而dir[:] = []则是原地修改列表
或者
for root, dirs, files in os.walk(path,topdown=True):
dirs[:] = [d for d in dirs if d not in "忽略父文件夹"]
print(os.path.basename(root))
#现场修改dirs将删除os.walk访问的(随后的)文件和目录:
mark