关于Python对于文件某一行删除/更改的Hack

来源:互联网 发布:重庆快乐十分遗漏数据 编辑:程序博客网 时间:2024/06/06 07:29

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()

认真阅读源码理解后便可以改编成对该行任意更改

0 0
原创粉丝点击