使用排除项列表排除在文件列表中找到的某些单词

Excluding certain words found in list of files with list of exclusion terms

正在尝试从列表中排除某些字词,如下所示。我确定我遗漏了什么。

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 个术语,尽管存在其他术语。我确定我遗漏了一些简单的东西

您可以在列表理解中使用 all() 来过滤掉项目。此外,您可以使用 str.lower 来不包含 file-names (lower/upper-case) 的所有变体:

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)