你如何计算每行中的字符数然后将它们全部添加?

时间:2015-04-28 02:43:02

标签: file python-3.x

我已经提出了一个问题来编写一个函数"它返回一个文件中字符数的计数,其名称作为参数给出。"

因此,如果一个名为" data.txt"的文件包含"你好!"并使用我的代码从下面打印,它将返回值10.(这是正确的)

"""Attemping Question 7.
   Author: Ark
   Date: 28/04/2015
"""

def file_size(filename):
"""extracts word from a line"""
filename = open(filename, 'r')
for line in filename:
    result = len(line) #count number of characters in a line.
    return result

但是,假设我已经创建了另一个名为" data2.txt"它包含

EEEEE
DDDD
CCC
BB
A

如果我打印出来它会给出6的值。所以,我的挑战从这里开始..我可以用我的编码来读取行并将它们全部添加起来?

打印(FILE_SIZE(" data2.txt&#34))

预计16个字(?)

1 个答案:

答案 0 :(得分:1)

你必须求和行的长度,现在你返回第一行的长度。

此外,您必须删除尾随换行符(如果有的话)。这应该有效:

def character_count(filename):
    with open(filename) as f:
        return sum(len(line.rstrip("\n")) for line in f)