檔案的打開與關閉
一般我們在電腦上操作一個檔案的時候,通常是先建立一個檔案,然後打開檔案,然後是讀取資料或是寫入資料,最後關閉檔案。
在python中也是一樣:
- 建立一個檔案
- 打開檔案
- 讀取或寫入資料
- 關閉檔案
打開檔案
python中使用open函數打開一個已經存在的檔案,或者建立一個新的檔案,文法如下:
open(檔案名,通路模式,[編碼]),傳回值為檔案對象,檔案對象包含如下屬性:
closed:判斷檔案是否關閉,關閉傳回True否則傳回False
mode:被打開檔案的通路模式
name:傳回檔案名稱
示例代碼
f = open('test.txt','r')
通路模式說明
通路模式 | 說明 |
r | 以隻讀的方式打開已有檔案,檔案的指針将會放在檔案的開頭。預設模式 |
w | 打開一個檔案隻用于寫入資料,如果該檔案已經存在則将其覆寫,否則建立一個新檔案 |
a | 打開一個檔案用于追加寫入資料,如果該檔案已經存在,檔案的指針将會放在檔案的結尾,新的内容将會被寫到已有内容的後面,如果檔案不存在,則建立一個新檔案然後寫入資料 |
rb | 以二進制的格式打開一個已有檔案用于隻讀,此模式不能指定編碼方式,檔案将指針放在檔案的開始 |
wb | 以二進制格式打開一個檔案隻用于寫入,如果檔案已經存在則打開檔案,并從檔案頭開始編輯,原有内容會被覆寫,如果檔案不存在則建立新的檔案。一般用于非文本如圖檔等 |
ab | 以二進制格式打開一個檔案用于追加,如果檔案已經存在,檔案指針将會放在檔案結尾,新的内容将會被追加到已有内容之後。如果檔案不存在則建立新檔案并寫入。 |
r+ | 打開一個已有檔案用于讀寫,檔案指針将會放在檔案開頭。 |
w+ | 打開一個檔案用于讀寫,如果檔案存在則打開檔案從頭開始編輯,覆寫原有内容,如果不存在則建立新檔案。 |
a+ | 打開一個檔案用于讀寫,如果檔案已經存在,檔案的指針将指向檔案的結尾,新内容将會追加到原有内容之後,如果檔案不存在則建立新檔案。 |
rb+ | 以二進制格式打開一個已有檔案用于讀寫,檔案指針指向檔案開頭,一般用于非文本檔案如圖檔等 |
wb+ | 以二進制格式打開一個檔案用于讀寫,如果檔案已經存在則打開檔案從頭開始編輯,原有内容将被覆寫,如果檔案不存在,建立新檔案。 |
ab+ | 以二進制格式打開一個檔案用于追加,如果檔案存在指針執行檔案結尾,新内容追加到原有内容之後,檔案不存在則建立檔案。 |
總結:一般情況下,隻要模式是帶r的,這種情況打開一個檔案時,這個檔案必須是已經存在的,否則将會報錯。
檔案的關閉
使用檔案對象的close()方法對檔案進行關閉。當檔案操作完以後一定要記得關閉檔案。檔案關閉後将不能再進行人格讀寫操作。及時關閉檔案是一個很好的習慣。
f = open('test.txt')
f.close()
使用with關鍵字打開檔案
python中還有一種打開檔案的方式:借助with關鍵字和open函數,文法如下:
with open(檔案名,通路模式,[編碼]) as 檔案對象,對檔案的所有操作全部放在with下(這裡要注意縮進)
這種寫法的好處就是,檔案操作完以後不需要人工手動去關閉,with結束後會自動關閉。
示例代碼:
with open('test.txt','r') as f:
f.readlines()
以上便是檔案的打開與關閉操作