我尝试使用以下代码查找并计算txt文件中的特定3字词短语:
phrases = ['hi there you','eat sausage bread', ...]
with open('test.txt') as f:
for word in phrases:
contents = f.read()
count = contents.count('word')
print(word, count)
Python列出了我的每个短语,但它并没有准确地计算它。相反,第一个短语总是63,并且以下任何一个都是0.因为我有超过100个短语,而且还有很多不同的文件,因此单独计算任何短语是浪费时间的(这顺便说一下用这个脚本)。也许有人可以清除我明显的错误或知道可能的解决方案,我会非常感激。
答案 0 :(得分:1)
您为每个单词将整个文件读入contents
。由于您永远不会将文件指针恢复到文件的开头,因此在第一个read
之后它只存储一个空字符串。
通过只读一次来修复文件。
with open('test.txt') as f:
contents = f.read()
for word in phrases:
count = contents.count(word)
print(word, count)