从文本文件中搜索一行中的单词时,某些单词不会显示

时间:2016-04-25 23:26:25

标签: python string python-2.7 word

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

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

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()

1 个答案:

答案 0 :(得分:1)

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

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