在程序運行時,數據時保存在內存的變量裡。內存中的數據在程序結束後或關機後就會消失。如果想要在下次開機運行程序時還想使用同樣的數據,就需要把數據存儲在不易失的存儲介質中,比如硬盤、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語句可以打開文件並賦值給文件對象,之後可以對文件進行操作。文件會在語句結束後自動關閉,即使是由於異常引起的結束也是如此)