20201214 3 檔案讀與寫詳解1

2022-06-05 15:57:08 字數 1572 閱讀 3587

5. 檔案操作

對檔案操作流程

1. 開啟檔案,得到檔案控制代碼並賦值給乙個變數

2. 通過控制代碼對檔案進行操作

3. 關閉檔案

5-1 開啟檔案

data = open("

yesterday

",encoding = "

utf-8

").read()

print(data)

# python 預設編碼 是 utf-8;如果開啟不指定,windows 預設用 gbk 開啟

# 不是同乙個編碼,所以必須告訴程式,用 utf-8 開啟

# 檔案開啟後,後續如果要操作,需要通過開啟的檔案物件操作

# 如果想把檔案開啟後進行更多的操作,必須把開啟的檔案物件賦乙個變數

5-2-1 操作檔案

f = open("

yesterday

",encoding = "

utf-8

") #

檔案控制代碼

#檔案控制代碼就是這個檔案的記憶體物件,控制代碼裡面包含檔案的檔名,字符集,大小,記憶體,硬碟上的起始位置等

data =f.read()

data2 =f.read()

print

(data)

print('

------------- data2 -------------

',data2)

# 檔案控制代碼 開啟後,從第一行開始讀,在執行第二遍時,游標到了檔案最後一行

# 在讀時,游標後面沒東西了,所以讀不到了

# 所以檔案就讀不到了,讀完了

# 想從中間讀,移動回游標即可

f.write('

我愛北京天安門

')

報錯因為,已經讀了,要麼讀,要麼寫

5-2-1

f = open("yesterday",'r',encoding = "utf-8")

# 'r' 代表讀模式,沒有寫上,就預設是讀模式,不過應該寫上的

# 有讀就有寫

# 'w' 代表寫,是通過建立乙個檔案寫入,所以會覆蓋之前的

# 寫就不能讀了,讀就不能寫

5-2-2

f = open("yesterday2",'w',encoding = "utf-8")

# 這是不能讀的

f.write('天安門')

f.write('太陽公升')

# 但是結果是寫到一行了

# 重新 執行 'w' 之前的內容就會被沖掉了

5-2-3 想讀也想寫 怎麼辦?

f = open("yesterday2",'a',encoding = "utf-8")

f.write('天安門。。。\n')

f.write('太陽公升')

# 直接追加在後面了

5-2-4 那麼 追加 能讀嗎?

f = open("yesterday2",'a',encoding = "utf-8")

f.write('天安門。。。\n')

f.write('太陽公升')

# 但是,追加不能讀

Python筆記(15)檔案讀與寫詳解

user bin env python coding utf 8 author berlin 注意 1 檔案只有三種模式 r代表只能讀 w代表只能寫 a代表可以在文末追加文字 2 在w模式下,開啟open檔案時,又接著write新的文字。那麼結果是 清空原檔案的內容,寫入新的內容。這種情況會造成刪庫...

檔案快取 寫與讀

1.先判斷是否有sdcard以及許可權environment.getexternalstoragestate equals environment.media mounted 2.得到sdcard路徑 mnt sdcard environment.getexternalstoragedirector...

13 檔案操作 2 讀操作

三 檔案讀取偏移量 檔案讀寫的介面位於io包,file檔案類是這些介面的實現類。read 實現的是按位元組數讀取 readbyte make byte 128 指定要讀取的長度 for fmt.println read string readbyte n if n 128 bufio封裝了io.re...