stackoverflow上的精彩solution
http://stackoverflow.com/questions/2329417/fastest-way-to-delete-a-line-from-large-file-in-python
code:
def removeLine(filename, lineno):
fro = open(filename, "r")
current_line = 0
while current_line < lineno:
fro.readline()
current_line += 1
seekpoint = fro.tell()
frw = open(filename, "r+")
frw.seek(seekpoint, 0)
# read the line we want to discard
fro.readline() # 读入一行进内内存 同时! 文件指针下移实现删除
# now move the rest of the lines in the file
# one line back
chars = fro.readline()
while chars:
frw.writelines(chars)
chars = fro.readline()
fro.close()
frw.truncate()
frw.close()
认真阅读源码理解后便可以改编成对该行任意更改