如何选择for循环的最后一个元素?

时间:2013-08-26 09:18:52

标签: python python-3.x

f = open("unknown.txt", 'r')
a = sum(line.count('ly') for line in f)

f = open("unknown.txt", 'r')
words = 0

for line in f:
    words += len(line.split())
    print(words)

因此,此代码输出的数字最多为78,即文本文件中的单词数量,如何获得“78”和“78”?所以我可以自己使用它,提前谢谢!

2 个答案:

答案 0 :(得分:2)

for line in f:
    words += len(line.split())
    print(words)

这将打印文件中每行后面的总字数。如果您只想在python计算出有多少单词后打印单词数量,请取消缩进print来电:

for line in f:
    words += len(line.split())

print(words)

答案 1 :(得分:2)

听起来你想要计算文件中的单词数量。

最好的方法是使用内置的len函数。

with open(file_path) as f:
    words = len(f.read().split())

要处理更大的文件,你应该通过迭代(生成器)来完成,这是一个函数:

def words_in_file(file_path):
    with open(file_path) as f:
        return sum(len(line.split()) for line in f)

使用该功能:

>>> words_in_file('C:/Python27/README.txt')
7491