字符串计数 - 识别关键字并解除复合词

时间:2013-11-08 18:51:41

标签: python python-2.7

我为作业创建了一个程序,它读取一个txt文件并返回关键词。我的程序返回关键词但是有一个问题是“数据”之一。我应该只得到6个结果,但我得到7.我认为,原因是“数据 - 分析”一词中有一个复合词。该程序似乎正在捡起这个并在最终结果中计算它。我可以在代码的末尾插入任何内容来解雇这个吗?

import string
text = open('news1.txt').read()+open ('news2.txt').read()
print 'data:', string.count(text, 'data')

1 个答案:

答案 0 :(得分:0)

如果没有看到您的实际输入文件,很难确定,但有一个明显的可能性:

news1.txt:

data data data dat

news2.txt

a data data data

文件中只有6个“数据”实例。但如果你连接文件,你会得到这个:

data data data data data data data

......你将算上7而不是6。

你的老师给你的文件看起来像是为了捕捉这种错误,这是完全合理的。边缘情况通常不会在野外出现,并且您认为不会进行测试,这些都是花费数月的挫折感的事情 - 尝试将repro信息拖出用户,调试程序等等。在编程生涯的早期学习是一个很好的教训。