我在Python 2.7上有一个代码,它应该告诉我单个文本文件中字母或单词的频率。
def frequency_a_in_text(textfile, a):
"""Counts how many "a" letters are in the text file.
"""
try:
f = open(textfile,'r')
lines = f.readlines()
f.close()
except IOError:
return -1
tot = 0
for line in lines:
split = str(line.split())
k = split.count(s)
tot = tot + k
return tot
print frequency_a_in_text("RandomTextFile.txt", "a")
那里有一些额外的编码 - "尝试"和"除了",但那只是告诉我,如果我无法打开文本文件,那么它将返回" -1"对我来说。
每当我运行它时,它似乎只是阅读第一行并告诉我有多少" a"有信件。
答案 0 :(得分:0)
在循环的第一次迭代之后,你将退出函数。
return语句应该在循环之外。
for line in lines:
split = str(line.split())
k = split.count(s)
tot = tot + k
return tot