使用排除项列表排除在文件列表中找到的某些单词
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)
正在尝试从列表中排除某些字词,如下所示。我确定我遗漏了什么。
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)