仅修改文件的特定部分

时间:2016-06-02 09:07:24

标签: python

我有一个应该读取文件的python脚本。问题是该文件非常大,所以为了提高效率,我决定我的脚本只能从650000行开始读取,因为上一行不包含相关信息。

有没有办法只修改650000行直到eof,例如,如果我read()这个文件只显示那些特定的行?

1 个答案:

答案 0 :(得分:2)

文件不是面向行的,它们是字节块。

在没有读取数据的情况下,没有办法计算出前650,000行的字节数,所以你必须这样做才能跳过它们。

可以开始修改某个偏移量的文件,但该偏移量将以字节为单位,这是文件使用的寻址单位。

可以很容易地完成跳绳:

with open("myfile.txt", "w+t") as f:
  for i in xrange(650000):
    f.readline() # Read a line and throw it away
  f.write("hello")

这将截断文件,以便在hello之后没有数据(当然,在它之前有650,000行)。