在文本文件的一行中搜索单词时,某些单词未显示

When searching for words in a line from a text file, certain words aren't showing up

以下代码按行搜索文本文件以过滤掉坏行并将好行添加到新文件中。出于某种原因,该文件只返回带有“-”的行,而不响应任何其他词。

此代码是否存在可能导致这种情况发生的问题?或者更可能是文本文件的问题?

import re
new=open('FilteredData.txt', 'w')
f=open('ClusteredData.txt', 'r')
line = f.readline()

while line:
    reResult = re.search(r'-',line, re.I)
    reResult1 = re.search(r'by', line, re.I)
    reResult2=re.search(r'ft', line, re.I)
    reResult3=re.search(r'feat', line, re.I)
    reResult4=re.search(r'f\.', line, re.I)

    if reResult or reResult1 or reResult2 or reResult3 or reResult4:
        new.write(line)

    line = f.readline()

由于文本编码问题,我之前遇到过类似的问题。代码对我来说看起来不错,我在没有任何非 ascii 字符、使用 UTF-8 编码的文本文件中 运行 它,并且它可以工作。您的新文本文件中是否有乱码?如果有,则可能是文本文件本身有问题。尝试检查您的文本是否使用正确的编码进行编码。

也许可以在文本文件的一小部分上尝试 运行 代码,看看它是否有效。