Python 仅修改文件的特定部分

Python 仅修改文件的特定部分,python,Python,我有一个python脚本,应该用来读取文件。问题是该文件非常大,所以为了提高效率,我决定我的脚本应该只从第650000行开始读取,因为前一行不包含相关信息 有没有办法只修改650000行直到eof,例如,如果iread()这个文件只会显示那些特定的行?文件不是面向行的,它们是字节块 除了读入数据之外,没有办法计算出前650000行中有多少字节,因此您必须这样做才能跳过它们 可以在某个偏移量处开始修改文件,但该偏移量将以字节为单位,这是文件使用的寻址单元 跳过行非常容易: with open("m

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


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

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

除了读入数据之外,没有办法计算出前650000行中有多少字节,因此您必须这样做才能跳过它们

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

跳过行非常容易:

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
之后就不会有数据了(当然,在它之前有650000行)。

我认为这会有所帮助:如果我这样做,而不是
f.write()
did
f.read()
它会读取文件的其余部分吗?