1. 程式人生 > >文件操作2-Day3

文件操作2-Day3

.com family tell 文件 int pre 覆蓋 過程 col

一、文件操作流程

  1. 打開文件,得到文件句柄並賦值給一個變量
  2. 通過句柄對文件進行操作
  3. 關閉文件

二、文件打開模式

1、普通打開模式

  • r:只讀模式(不加參數則默認只讀;不能寫,不能追加)
  • w:只寫模式(只能寫、不能讀、不能追加;文件不存在則創建,存在則覆蓋)
  • a:追加模式(不能讀;文件不存在則創建,存在則只追加內容)

普通模式不論讀、寫或者追加,都是按照字符來操作的,所有在操作過程中不需要進行編碼(encode)和解碼(decode)的動作

(1)、r讀

f=open("file",‘r‘,encoding=‘utf-8‘)
print(f.read())
f.close()

(2)、w寫

f=open("file",‘w‘,encoding=‘utf-8‘)
f.write("wesley")
f.close()

(3)、a追加

f=open("file",‘a‘,encoding=‘utf-8‘)
f.write("wesley")
f.close()

2、同時讀寫模式

“+”號表示同時讀寫某個文件

  • r+:可讀寫(可讀、可寫、可追加;不會創建不存在的文件;不管指針在什麽位置,依然在文件內容的最後添加內容)
  • w+:可讀寫(可讀、可寫、可追加;文件存在則覆蓋,不存在則創建;必須設置指針為開始位置,才能讀取文件)
  • a+:可讀追加(可讀、可追加;不存在則創建;必須設置指針為開始位置,才能讀取到文件,追加和寫在寫入文件時,不會清空之前的內容,在文件的最後添加內容)

(1)、r+

f=open("file2",‘r+‘,encoding=‘utf-8‘)
print(f.readline())
f.seek(0)        #設置指針的位置為開始
print(f.tell())     #獲取指針的位置
f.write("\nJuses loves you!")
f.close()

返回值“
wesley    #讀取的內容
0    #指針位置

技術分享圖片

註:不管指針在什麽位置,寫入的內容依舊在文件的最後

(2)、w+

f=open("file2",‘w+‘,encoding=‘utf-8‘)
print(f.read())
f.write("Juses loves you!\n")
f.seek(0)
print(f.read())
print(f.tell())     #獲取指針的位置
f.write("\nJuses loves me!")
f.seek(0)
print(f.read())
f.close()

返回值:
                                 #第一次讀的內容
Juses loves you!                 #第二次讀的內容

18                               #指針的位置
Juses loves you!                 #第三次讀的內容

Juses loves me!    

寫入文件的內容如下:

技術分享圖片 寫讀,寫入的內容不受指針的影響,還是寫入在文件的最後一行;首選會創建一個文件,所以

文件操作2-Day3