我有一个应该读取文件的python脚本。问题是该文件非常大,所以为了提高效率,我决定我的脚本只能从650000行开始读取,因为上一行不包含相关信息。
有没有办法只修改650000行直到eof,例如,如果我read()
这个文件只显示那些特定的行?
答案 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行)。