在程式運作時,資料時儲存在記憶體的變量裡。記憶體中的資料在程式結束後或關機後就會消失。如果想要在下次開機運作程式時還想使用同樣的資料,就需要把資料存儲在不易失的存儲媒體中,比如硬碟、u盤。不易失存儲媒體上的資料儲存在以路徑命名的檔案中。通過讀/寫,程式就可以在運作時儲存資料。這次,我們一起學習下python中有關檔案的建立、讀寫以及關閉等操作
1. 檔案
簡單的來說, 檔案時由位元組組成的資訊,在邏輯上具有完整意義,一般式可以在硬碟中永久儲存的。在Windows系統的資料檔案按照編碼方式分為二大類的,文本檔案和二進制檔案。文本檔案可以處理各種語言所需的字元,隻包括基本字元,不包括字型、字号等資訊。它可以用文本編輯器打開,檔案屬性都是可讀的
使用其他的編碼方式的檔案即是二進制檔案,如word文檔、pdf、圖像和可執行程式等。如果用文本編輯器打開一個jpg檔案會出現亂碼,也就是說,而一種二進制檔案都需要自己的處理程式才能打開操作的。
2. 對檔案的通路:
對檔案的通路是指檔案進行讀/寫操作。使用檔案跟平時生活中使用筆記本相似。我們使用筆記本,需要先打開本子,使用後要合上它。打開筆記本後,既可以讀取資訊,也可以向本子上寫。不管哪種的情況,都是需要進行讀寫。我們在記事本中即可以一頁頁從頭到尾的讀也可以直接跳轉到所需要的地方。
使用檔案工作也是一樣,在python中對檔案的操作通常是按照以下三個步驟進行:
A、 使用open()函數打開/建立檔案,傳回一個file檔案
B、 使用file對象的讀/寫方法對檔案進行讀/寫操作。其中,将資料從外存傳輸到記憶體的過程稱為讀操作,将資料從記憶體傳輸到外存的過程稱為寫操作
C、 使用file對象的close()方法關閉檔案
2.1 打開/建立檔案
在python中要通路檔案,必須是打開python shell 與磁盤上檔案之間的連接配接。當使用open()函數打開或者是建立檔案時,會建立檔案和使用它的程式的連接配接,并傳回代表連接配接的檔案對象。通過檔案對象,就可以在檔案所在的磁盤和程式之間傳遞檔案内容,執行後續的操作。檔案對象有時也稱為檔案描述符和檔案流。
在python中,open()函數用來打開檔案。Open()函數需要一個字元串路徑,表示希望打開檔案,并傳回一個檔案對象:
文法: fileobj = open(filename[,mode[, buffering]])
其中,fileobj 是open()函數傳回的檔案對象。參數filename檔案名是必寫參數,它可以是絕對路徑,也可以是相對路徑。模式(mode)和緩沖(buffering)可選。
Mode 是指檔案類型和操作的字元串,如下:
2.2 讀取文本檔案
可以調用檔案file對象的多種方法讀取檔案内容。
1. read()方法:該方法可将檔案的内容讀取位一個字元串
()
2. readline()方法:從檔案中擷取每一個字元串,每個字元串就是檔案中的每一行
2.2 檔案的關閉
Python中是使用close方法關閉檔案。關閉檔案是取消程式和檔案中連接配接的過程,記憶體緩沖區的所有内容将寫入磁盤。是以必須在使用檔案後關閉檔案確定資訊不會丢失。
要確定檔案關閉,可以使用try/finally語句,在finally子句中調用close方法
或者使用with語句自動關閉檔案(with語句可以打開檔案并指派給檔案對象,之後可以對檔案進行操作。檔案會在語句結束後自動關閉,即使是由于異常引起的結束也是如此)