单行文件太大了?

时间:2017-09-06 21:28:55

标签: python file

在python中,我正在读取一个大文件,我想将每一行(经过一些修改后)添加到一个空列表中。我想这只做前几行,所以我做了:

X = []
for line in range(3):

    i = file.readline()
    m = str(i)
    X.append(m)

然而,出现错误,并表示该行存在MemoryError i = file.readline()

我该怎么办?即使我将范围设为1,它也是一样的(虽然我不知道它如何影响线,因为它在循环内部。)

我怎么没有得到错误代码?我正在迭代,我不能把它变成二进制文件,因为文件不只是整数 - 有小数和非数字字符。

txt文件是5演出。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

filehandle.readline()通过换行符(\n)打破行 - 如果你的文件有巨大的行,或根本没有换行,你需要找出一种不同的分块方式它。

通常,您可能会以块的形式读取文件并逐个处理这些块。

你能弄明白你如何分解文件吗?例如,你可以一次只读取1024个字节,并使用该块吗?

如果没有,通常更容易清理文件格式而不是设计复杂的阅读器。