尝试从列表中排除某些术语,如下所示。我确定我缺少什么。
dir = r'C:\Temo'
exclude = ['test', 'Test', 'debug', 'Debug']
for item in exclude:
new_list = [os.path.join(dir, files)
for files in os.listdir(dir)
if files.endswith(".csv") and item not in files]
这将导致从排除列表中仅排除1个词,尽管其他词也存在。我确定我缺少简单的东西
答案 0 :(得分:1)
您可以在列表理解中使用all()
来过滤掉项目。另外,您可以使用str.lower
不包括文件名的所有变体(小写/大写):
import os
dir = r'C:\Temo'
exclude = ['test', 'debug']
new_list = [os.path.join(dir, file)
for file in os.listdir(dir)
if file.endswith(".csv") and all(ex not in file.lower() for ex in exclude)]
print(new_list)