(七)File 檔案的操作,file檔案操作
一、檔案讀寫入模式
1、檔案的幾種模式:
格式:f=open("檔案名稱","模式",encode="utf-8")
1 #檔案的唯讀模式2 f1=open("test1","r",encoding="utf-8") #encoding="utf-8"可以不寫3 print(f1.read())4 #檔案唯寫模式,檔案如果不存在,則建立,存在寫入內容會覆蓋原來的5 f2=open("test2","w",encoding="utf-8")6 f2.write("q5ert\n")7 #檔案追加模式,通常用於寫日誌8 f3=open("test2","a",encoding="utf-8")9 f3.write("1213\n1234")
"+" 表示可以同時讀寫檔案
- r+, 讀寫【可讀,可寫】
- w+,寫讀【可讀,可寫】
- x+ ,寫讀【可讀,可寫】
- a+, 寫讀【可讀,可寫】
"b"表示以位元組的方式操作
- rb 或 r+b
- wb 或 w+b
- xb 或 w+b
- ab 或 a+b
註:以b方式開啟時,讀取的是byte類型
1 # #讀寫入模式、先讀後寫 2 # f1=open("test1","r+") 3 # print(f1.read()) 4 # f1.write("qqqqqqqqqq") 5 # #寫讀模式,先寫後讀 6 # f2=open("test2","w+") 7 # f2.write("qqqqqqqqqq") 8 # f2.read() 9 # print(f2.read())10 #追加寫讀11 f2=open("test2","a+")12 f2.write("wwwwwwww")13 14 # f1=open("test1","rb") #不需要指定編碼15 # print(f1.read())16 # #b'0000000000\r\n1111111111\r\n2222222222\r\n3333333333\r\n4444444444\r\n5555555555'
3、檔案的修改,例如將test2中的檔案內容修改成test1的內容
1 import os2 with open('test1','r',encoding="utf-8") as f1,\ 3 open('test2','w',encoding="utf-8") as f2:4 for i in f1:5 f2.write(line)6 7 os.remove('test1')8 os.rename('test2','test3')
如果我們對檔案其中某個內容就行修改呢
開啟兩個檔案,修改其中內容後再寫入另一個檔案
f1=open("text1","r+",encoding="utf-8")f2=open("text2","w+",encoding="utf-8")for line in f: if "1111" in line: line=line.replace("1111","qqqq") f2.write(line)