在python中读取文件行数时解决内存错误?

时间:2013-04-19 14:39:08

标签: function python-2.7 readline

我试图在python中读取一些文本文件,计算它们的行号,最后总结这些计数。当代码针对每个文件运行时,它会工作,直到它到达一个更大的文件并且我收到此错误“内存错误”。请帮助我如何解决并继续。

这是我的代码:

def Count_Lines():    
  infile = open(File_Name,'r').read()
  nLine = infile.count('\n')
  print nLine

1 个答案:

答案 0 :(得分:0)

调用read()将读取整个文件的内容,该内容可能太大而无法存储在内存中。

这会逐行读取文件,避免将整个内容存储在内存中(除非整个内容是一个大行......)

count = 0
for file in files:
  with open(file) as F:
    file_count = sum( 1 for line in F )
  count += file_count