python3修改文件指定行和4种文件打开方式

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

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


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

f = open("D:datak1.TXT","r")
ff= open ("D:data\newk1.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+,这种是二进制模式打开或者读取,一些音乐文件
原文地址:https://www.cnblogs.com/mghhzAnne/p/10517452.html