天天看點

python語言基礎 -- 檔案的打開與關閉操作

檔案的打開與關閉

一般我們在電腦上操作一個檔案的時候,通常是先建立一個檔案,然後打開檔案,然後是讀取資料或是寫入資料,最後關閉檔案。

在python中也是一樣:

  1. 建立一個檔案
  2. 打開檔案
  3. 讀取或寫入資料
  4. 關閉檔案

打開檔案

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()
           

以上便是檔案的打開與關閉操作