我想计算文件中的特定单词。
例如,“apple”在文件中出现了多少次。我试过这个:
#!/usr/bin/env python
import re
logfile = open("log_file", "r")
wordcount={}
for word in logfile.read().split():
if word not in wordcount:
wordcount[word] = 1
else:
wordcount[word] += 1
for k,v in wordcount.items():
print k, v
通过用“apple”替换“word”,但它仍然会计算我文件中所有可能的单词。
任何建议将不胜感激。 :)
原文由 pluvki 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以只使用
str.count()
因为你只关心单个单词的出现:但是,为了避免一些极端情况,例如错误地计算像
"applejack"
这样的单词,我建议您使用 正则表达式:\b
在正则表达式中确保模式开始和结束于 _单词边界_(而不是较长字符串中的子字符串)。