在python中,我正在读取一个大文件,我想将每一行(经过一些修改后)添加到一个空列表中。我想这只做前几行,所以我做了:
X = []
for line in range(3):
i = file.readline()
m = str(i)
X.append(m)
然而,出现错误,并表示该行存在MemoryError
i = file.readline()
。
我该怎么办?即使我将范围设为1,它也是一样的(虽然我不知道它如何影响线,因为它在循环内部。)
我怎么没有得到错误代码?我正在迭代,我不能把它变成二进制文件,因为文件不只是整数 - 有小数和非数字字符。
txt文件是5演出。
有什么想法吗?
答案 0 :(得分:4)
filehandle.readline()
通过换行符(\n
)打破行 - 如果你的文件有巨大的行,或根本没有换行,你需要找出一种不同的分块方式它。
通常,您可能会以块的形式读取文件并逐个处理这些块。
你能弄明白你如何分解文件吗?例如,你可以一次只读取1024个字节,并使用该块吗?
如果没有,通常更容易清理文件格式而不是设计复杂的阅读器。