带大文件的Python 2.5 MemoryError

带大文件的Python 2.5 MemoryError,python,Python,因为内存错误,我无法读取大文件。其他答案表明这应该有效,有什么问题吗? 整个代码是这样的 #Separador de RAMAS.csv por rama import csv archivo_original = open('RAMAS.csv') print archivo_original.readline() 我得到的错误是 Traceback (most recent call last): File "Separador_CSV.py", line 4, in <modu

因为内存错误,我无法读取大文件。其他答案表明这应该有效,有什么问题吗?
整个代码是这样的

#Separador de RAMAS.csv por rama
import csv
archivo_original = open('RAMAS.csv')
print archivo_original.readline()
我得到的错误是

Traceback (most recent call last):
  File "Separador_CSV.py", line 4, in <module>
    print archivo_original.readline()
MemoryError
回溯(最近一次呼叫最后一次):
文件“Separador_CSV.py”,第4行,在
打印archivo_original.readline()
记忆者

我发现Python将文件解释为一个大行。
谢谢你的评论,让我找到了问题所在


我在Windows 7中工作,该文件是用其他Python脚本创建的,没有问题,lineterminator='\r'


file.readline
似乎没有在
\r
上拆分。如果您使用另一个Python脚本创建了该文件,最好使用
\n
而不是
\r
再次创建该文件,那么它应该可以工作

带有
\r
的示例:

In [14]: open("test", "w").write("foo\rbar\rblub")
In [15]: open("test", "r").readline()
Out[15]: 'foo\rbar\rblub'
带有
\n
的示例:

In [16]: open("test", "w").write("foo\nbar\nblub")
In [17]: open("test", "r").readline()
Out[17]: 'foo\n'

如果不可能,您可以使用
file.read(大小以字节为单位)
读取文件的一部分,然后自己重新创建行。

行有多长?!可以使用
file.read(大小以字节为单位)
以块的形式读取文件(和超长行)?行的最大长度应为200个字符。使用记事本++和Excel可以正确打开较小的文件。我在Windows 7中工作,该文件是用其他Python脚本创建的,没有问题,lineterminator='\r'
文件。readline
似乎没有在
\r
上拆分。如果您使用另一个Python脚本创建了该文件,最好使用
\n
而不是
\r
再次创建它,那么它应该可以工作。有没有办法告诉Python将\r解释为换行符?@José不确定,我想应该有,但是我在
open
file.read
@José上找不到这样的参数,我想您可以使用
csv.reader
并配置相应的方言。即使文件不是CSV,您也可以将其读取为仅包含一列的CSV文件。