在模式
'a'或中
'a+',即使在
write()触发函数的当前时刻,文件的指针也不位于文件的末尾,任何写入都在文件的末尾进行:在进行任何写入之前,指针已移至文件的末尾。您可以通过两种方式来做自己想做的事情。
第一种方式 ,如果没有问题可以将文件加载到内存中,则可以使用:
def line_prepender(filename, line): with open(filename, 'r+') as f: content = f.read() f.seek(0, 0) f.write(line.rstrip('rn') + 'n' + content)第二种方式 :
def line_pre_adder(filename, line_to_prepend): f = fileinput.input(filename, inplace=1) for xline in f: if f.isfirstline(): print line_to_prepend.rstrip('rn') + 'n' + xline, else: print xline,我不知道这种方法如何在后台运行,以及是否可以在大文件中使用。传递给输入的参数1允许在适当位置重写一行;以下行必须向前或向后移动才能进行就地操作,但是我不知道该机制



