作者:來自讀者投稿
來源:Python資料之道
Python處理檔案的幾個常用小知識
Python 這門語言有個很大的用途就是使用它來進行檔案處理,學會處理檔案和儲存資料可以讓你的程式使用起來更加容易和友善,是以小編為大家準備了幾個處理檔案常用的幾個小知識,快來一起學習吧!
— 01 —
讀取檔案資料
文本檔案可存儲的資料量非常豐富,像天氣資料、交通資料、文學作品等。每當我們需要分析或修改儲存在檔案中的資訊時,讀取檔案就顯得尤為重要。想讀取一個檔案的資訊,我們可以一次性讀取全部内容,也可以每次一行逐漸讀取。
讀取整個檔案
我們先來建立一個包含幾行文本的檔案,在編輯器中輸入以下資料行,儲存為 txt 格式:
打開并讀取該檔案:
在這行程式中,出現了兩個函數open( )和read( )。
函數open( )用于打開一個檔案,它接受的參數是要打開檔案的名稱,Python 會在目前執行的檔案目錄中查找指定的檔案,然後傳回一個表示檔案的對象。
方法read( ) 用于讀取這個檔案的全部内容,并将其作為一個長長的字元串儲存在變量contents中。但這段程式的運作結果大家可以嘗試一下,它會把這個文本的内容全部輸出并在最後多出一行空行,這是因為read( )到達檔案末尾時會傳回一個空字元串,顯示在結果就是一個空行。如果想要删除末尾的空行,可以在print中使用rstrip( ):
關于檔案路徑,我們需要注意的是,Linux 系統和 windows 有一點不同:
在Linux和OS X中(使用斜杠/):
在Windows中(使用反斜杠\):
逐行讀取
如果想每次一行的讀取檔案,可對檔案對象使用for循環:
同樣,為了删除每一行多餘出來的空行,我們可以使用rstrip( ):
建立一個包含檔案各行内容的清單
當使用with時,open( )傳回的檔案對象隻能在with代碼塊内使用。如果想要在代碼塊外通路檔案内容時,我們可以在with代碼塊内将檔案的各行儲存在一個清單中,并在with代碼塊外使用該清單通路。
方法readlines( )表示從檔案中讀取每一行,并将其儲存在一個清單中。
使用檔案内容
該程式運作結果為:3.141592653589793238462643383279
— 02 —
寫入檔案
寫入空檔案
将文本寫入檔案,可以在調用open( )時提供另一個實參。即打開檔案時,可以指定需要的模式:'r'讀取模式,'w'寫入模式,'a'附加模式,'r+'讀取和寫入模式。python 預設隻讀模式。
注意:python 隻能将字元串寫入文本檔案,如果想把數值資料儲存到文本檔案,必須先使用函數str( )将其轉為字元串格式。
寫入多行
存儲資料
python中常使用json來存儲資料。json可以将簡單的python資料結構轉存到檔案中,并在程式再次運作時加載該檔案中的資料。
JSON資料格式并非python專用,它是一種常用的資料格式,很有用,也易于學習。
json.dump( ) 和 json.load( )
這兩個函數分别用于儲存資料和加載資料。json.dump() 接受兩個實參:要儲存的資料和用于儲存資料的檔案對象。json.load() 用于加載存儲在json檔案中的資訊。
這是一種在程式之間共享資料的簡單方式。
實作一個小功能
下面這個程式可以實作我們常常在遊戲開頭時遇到的一個小功能,一起來試試吧!
本文來自公衆号讀者投稿,歡迎各位童鞋向公号投稿,點選下面圖檔了解詳情!
------- End -------
點右下角「在看」與轉發 是對我們最大的支援
特别推薦下公衆号「檸檬資料」,會不定期分享資料故事,歡迎來串門。
回複「600」擷取《Python知識手冊》 回複「time」擷取《Python時間使用指南》
檸檬資料
發現資料價值,分享資料故事
掃碼關注,檢視更多内容