我目前正在通过一个免费的在线蟒蛇学校。我已经给出了以下模板,我将完成该函数,以便它返回文件的大小(字节数)和换行符的数量(“\ n”)。我完全卡住了。任何帮助,将不胜感激。
def readFile(filename):
f = open(filename)
size = 0
lines = 0
buf = f.read()
while buf!="":
buf = f.read()
f.close()
return (size, lines)
答案 0 :(得分:2)
因此buf
变量包含一大块数据。
由于您仍在学习,我将使用一种非常基本的方法:
nl_count = 0 # Number of new line characters
tot_count = 0 # Total number of characters
for character in buf:
if character == '\n':
nl_count += 1
tot_count += 1
现在你必须调整它以适合你的代码,但这应该给你一些东西。
答案 1 :(得分:0)
您可以一次读取所有行并使用列表而不是文件本身。例如,
def readFile(filename="test.txt"):
f = open(filename)
# Read all lines in at once
buf = f.readlines()
f.close()
# Each element of the list will be a new line
lines = len(buf)
# The total of the total of each line
size = sum([len(i) for i in buf])
return (size, lines)