python3修改文件指定行

python3修改文件指定行

方法可以有三个,但其实是一个方法,因为不同的方法都是文件存储的方法,文件修改就只有一个方法

将文件导入list后,重新写入文件(另一个文件或者当前文件)


1.当前文件读取后,list修改内容,写入另一个新建文件

f = open("D:datak1.TXT","r")ff= open ("D:dataewk1.TXT","w")new=[]for line in f:    new.append(line)new[9]=1111for n in new:    ff.write(n)f.close()ff.close()

以上程序生成的文件跟源文件相比第10行改为1111,其他行保持不变,源文件保持不变

2.当前文件读取后,list修改内容,文件关闭再打开,重新写入

f = open("D:datak1.TXT","r")new=[]for line in f:    new.append(line)new[9]=8888f.close()f = open("D:datak1.TXT","w")for n in new:    f.write(n)f.close()

以上程序将源文件第10行改为8888;源文件被覆盖掉了

3.当前文件读取后,list修改内容,指针指向文件头,重新写入

f = open("D:datak1.TXT","r+")new=[]for line in f:    new.append(line)new[9]=6666f.seek(0)for n in new:    f.write(n)f.close()

以上程序将源文件第10行改为6666;源文件被覆盖掉了

以上程序尤其注意一点,文件的open方式是不一样的

下面附上不同open方式的效果:

 1、w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写    w+ 是读写内容,只要沾上w,肯定会清空原来的文件 2、r 读模式,只能读,不能写,而且文件必须存在    r+ 是读写模式,只要沾上r,文件必须存在 3、a和a+ 追加模式,也能写,在文件的末尾添加内容 4、rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件

推荐阅读