我已经提出了一个问题来编写一个函数"它返回一个文件中字符数的计数,其名称作为参数给出。"
因此,如果一个名为" 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个字(?)
答案 0 :(得分:1)
你必须求和行的长度,现在你返回第一行的长度。
此外,您必须删除尾随换行符(如果有的话)。这应该有效:
def character_count(filename):
with open(filename) as f:
return sum(len(line.rstrip("\n")) for line in f)