在python中,如何使此代码不区分大小写

在python中,如何使此代码不区分大小写,python,Python,此代码删除包含特定单词(坏单词)的行 这个问题是区分大小写的 例如:它将删除“打印枕头”,但不会删除“打印枕头”或“打印枕头” 任何简单的修复(不区分大小写) 问候 bad_words = ['printed pillow', 'decalac', 'pandora'] with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile: for line in oldfile: if not

此代码删除包含特定单词(坏单词)的行 这个问题是区分大小写的

例如:它将删除“打印枕头”,但不会删除“打印枕头”或“打印枕头”

任何简单的修复(不区分大小写)

问候

bad_words = ['printed pillow', 'decalac', 'pandora']

with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile:
    for line in oldfile:
        if not any(bad_word in line for bad_word in bad_words):
            newfile.write(line)

把它改成小写,然后检查你的脏话

bad_words = ['printed pillow', 'decalac', 'pandora']

with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile:
    for line in oldfile:
        if not any(bad_word in line.lower() for bad_word in bad_words):
            newfile.write(line)

使用
上部

if not any(bad_word.upper() in line.upper() for bad_word in bad_words):

如果其中一个为小写,则使用两次
upper

如果列表中的单词都是小写的,为什么要同时使用大写字母呢?这样做的目的是,如果其中任何一个都有小写/大写字母,那么它们之间就无法区分了。因此,现在无论您或用户输入什么,它都会匹配。通常,使用
casefold
而不是
upper
lower
进行不区分大小写的比较更安全
casefold
可以更好地处理类似和其他奇怪的案例区分。