1. 程式人生 > >(七)File 文件的操作

(七)File 文件的操作

blog www 指定編碼 st3 內容修改 bsp 如果 class ()

一、文件讀寫模式

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 os
2 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)

(七)File 文件的操作