首页 > 解决方案 > Python 3,Terrabyte 文本文件的负 seek() 问题,

问题描述

我在一个非常大的文本文件(离 EOF 不远)的中间,像这样打开:

    iFile = open('big.csv', 'rb')

好处是每行数据的长度相同。因此,在文件中向前移动只是该行长度的倍数(以字节为单位)。

我需要避免移动到文件的开头,然后将数据遍历到我所在的位置,仅比前一个处理点高几行。

我只看到两个选项:

  1. 利用 iFile.seek(-425 * 8, 1) 调用,这显然在 Python 3 中不起作用...(它抛出“io.UnsupportedOperation: can't do nonzero cur-relative seeks”错误)

或者

  1. 执行 seek(0),然后执行 seek() 到我想要的位置。

有没有我不考虑的第三种选择?

在此先感谢您的任何见解...我很难过。

标签: pythonfile-iopython-3.8seek

解决方案


推荐阅读