打开文件以进行读取并返回字节数和换行符的函数

时间:2014-06-11 12:13:41

标签: python

我目前正在通过一个免费的在线蟒蛇学校。我已经给出了以下模板,我将完成该函数,以便它返回文件的大小(字节数)和换行符的数量(“\ n”)。我完全卡住了。任何帮助,将不胜感激。

def readFile(filename):
    f = open(filename)
    size = 0
    lines = 0
    buf = f.read()     
    while buf!="":



        buf = f.read() 

    f.close()                 

    return (size, lines)

2 个答案:

答案 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)