【发布时间】:2016-11-09 11:18:48
【问题描述】:
listIncludedFolders = ["Criteria1"]
listExcludedFolders = ["Criteria2"]
for dirpath, dirnames, filenames in os.walk(root):
proceed = False
for each in listIncludedFolders:
if each in dirpath:
proceed = True
if proceed == True:
for each in listExcludedFolders:
if each in dirpath:
proceed = False
if proceed == True:
print(dirpath)
我正在尝试以更 Python 的方式实现以下代码。使用生成器,我可以设法根据单个列表项进行操作:
if any(dir in dirpath for dir in listIncludedFolders):
print(dirpath)
...但我无法添加第二个比较。我在下面设法拥有一个附加条件,但我需要遍历附加条件列表:
if any(dir in dirpath for dir in listIncludedFolders if("Criteria2" not in dirpath)):
print(dirpath)
我怎样才能“干净”地做到这一点?
【问题讨论】:
标签: python list python-3.x generator os.walk