为什么这段代码只读取第一行而不是整个.txt文件?

时间:2015-11-09 06:00:18

标签: python-2.7

我在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"有信件。

1 个答案:

答案 0 :(得分:0)

在循环的第一次迭代之后,你将退出函数。

return语句应该在循环之外。

for line in lines:
    split = str(line.split())
    k = split.count(s)
    tot = tot + k
return tot