方法可以有三個,但其實是一個方法,因為不同的方法都是文件存儲的方法,文件修改就只有一個方法:
將文件導入list后,重新寫入文件(另一個文件或者當前文件)
1.當前文件讀取后,list修改內容,寫入另一個新建文件
f = open("D:\data\k1.TXT","r") ff= open ("D:\data\\new\k1.TXT","w") new=[] for line in f: new.append(line) new[9]='1111\n' for n in new: ff.write(n) f.close() ff.close()
以上程序生成的文件跟源文件相比第10行改為1111,其他行保持不變,源文件保持不變
2.當前文件讀取后,list修改內容,文件關閉再打開,重新寫入
f = open("D:\data\k1.TXT","r") new=[] for line in f: new.append(line) new[9]='8888\n' f.close() f = open("D:\data\k1.TXT","w") for n in new: f.write(n) f.close()
以上程序將源文件第10行改為8888;源文件被覆蓋掉了
3.當前文件讀取后,list修改內容,指針指向文件頭,重新寫入
f = open("D:\data\k1.TXT","r+") new=[] for line in f: new.append(line) new[9]='6666\n' 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+,這種是二進制模式打開或者讀取,一些音樂文件