方法可以有三个,但其实是一个方法,因为不同的方法都是文件存储的方法,文件修改就只有一个方法:
将文件导入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]=‘1111‘for 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]=‘8888‘f.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]=‘6666‘f.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+,这种是二进制模式打开或者读取,一些音乐文件