-3
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'?所以我可以自己使用它,提前谢谢!

4

2 回答 2

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

这将打印文件中每一行之后的总字数。如果您只想在 python 计算出单词数量后打印单词数量,请取消缩进您的print调用:

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

print(words)
于 2013-08-26T09:24:04.093 回答
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
于 2013-08-26T09:25:19.273 回答