我有一个应该读取文件的 python 脚本。问题是该文件非常大,因此为了提高效率,我决定我的脚本应该只从第 650000 行开始读取,因为前一行不包含相关信息。
有没有办法只修改第 650000 行直到 eof,例如,如果我 read()
这个文件只会出现那些特定的行?
最佳答案
文件不是面向行的,它们是字节 block 。
除非读入数据,否则无法计算出前 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 行)。
关于python - 只修改文件的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587348/