使用Python 3计算文件中的特定3字短语

时间:2018-01-16 10:26:05

标签: python python-3.x word-count

我尝试使用以下代码查找并计算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个短语,而且还有很多不同的文件,因此单独计算任何短语是浪费时间的(这顺便说一下用这个脚本)。也许有人可以清除我明显的错误或知道可能的解决方案,我会非常感激。

1 个答案:

答案 0 :(得分:1)

您为每个单词将整个文件读入contents。由于您永远不会将文件指针恢复到文件的开头,因此在第一个read之后它只存储一个空字符串。

通过只读一次来修复文件。

with open('test.txt') as f:
    contents = f.read()
    for word in phrases:
        count = contents.count(word)
        print(word, count)