Python – Save , Write , Read text file

簡介

這篇要介紹的是透過Python來進行文字檔案的『讀取、寫入、儲存』這三個基本功能,而檔案室以『txt』文字檔來實驗,當你要儲存某些資訊時,就會使用到本篇的功能,例如儲存Log、讀取天氣資訊、複寫資訊等等,皆可參照本篇。

新增資料夾

在Python中要新增資料夾的話,我們會使用到一個套件,叫做『 os 』,而下表我會列出透過os套件的方法。

指令敘述
rename將指定的檔案重新命名,os.rename(原檔名,新檔名)
remove將指定檔案移除,os.remove(檔名)
mkdir新增資料夾,os.mkdir(路徑+檔名)
getcwd獲取當前的目錄,os.getcwd()
chdir回到上一層,os.chdir(‘../’)
path讀取路徑,os.path
path.exists判斷資料夾是否存在
path.isdir判斷資料夾是否存在,os.path.isdir(路徑)

透過上表常見的指令我們就來新增一下資料夾,最重要就是要『import os』這套件,然後我們先新增一個path路徑容器,用意是你要新增資料夾的路徑加上資料夾名稱,接著透過判斷式,先判斷『該路徑是否有該資料夾,假如沒有就幫我新增資料夾』,所以我們這邊就要用到上表的『os.path.isdir (判斷是否存在)與 os.mkdir(新增資料夾)』。

執行過後你就可以在jupyter notebook或是你檔案管理看到新增了一個資料夾。

讀取、寫入、創建

我們要讀寫檔案前當然要先創立我們要做動的檔案,我們透過『open()』來創建,我們來看看open()內要塞的屬性是什麼。第一屬性是檔案的『路徑+檔名(記得要加上副檔名』如下呈現。

file = open('檔案', '模式','編碼模式')
//file = open(filename, 'r')

而第二個要塞的就是你的動作,下表我整理了該欄位可以塞的指令與敘述:

指令敘述
r讀取(檔案需存在)
w新建檔案寫入(檔案可不存在,若存在則清空)
a資料附加到舊檔案後面(游標指在EOF)
r+讀取舊資料並寫入(檔案需存在且游標指在開頭)
w+清空檔案內容,新寫入的東西可在讀出(檔案可不存在,會自行新增)
a+資料附加到舊檔案後面(游標指在EOF),可讀取資料
b二進位模式

第三個要塞的可以新增也可以省略,但我覺得加一下比較好,大家所知道的編碼模式有『big5 , UTF8 , ASCII(這是預設的編碼模式)』,假如你要切換模式的話,在這欄可以數入『encoding=’UTF-8’』。

我們了解了要塞的東西後,我們可以輸入上圖一的指令,並可以看到系統就建立了我們所指定的檔案。接下來我們就要把該檔案塞入文字。而我們也要不厭其煩的列出讀取寫入等其他的方式。

指令敘述
read()將文字讀取成string(若換行會包含\n),其中size為要讀取長度,若不填則讀取全部。
write()寫入,括弧內要填入string型態
close()關閉檔案讀取
seek()控制游標位置,0:文件最前端, 1:目前游標位置,2:文件最末端
readlines()讀取多行,傳回list, element 為每一行的string(最後包含\n)
readline()讀取當下游標後的一行文字

透過使用『write()』將要寫的文字塞入括弧中,並在字串後面加上換行『\n』指令,可以看到上圖一,執行過後成果如上圖二,完成寫入檔案,當寫完檔案並將open功能關閉,使用『close()』即可。

最後要來實現讀取的功能,在剛剛我們使用open()這方法時模式方面假如要讀取,就要換成『r』。再透過『read()』來讀取,而括弧裡面假如每有填入索引值,他就會讀取檔案的全部字元。

而我們在read括弧中填入要讀取的字串長度的話,就會擷取該限度,如上圖,如此一來我們就知道在Python中如何實現『創建、讀取、寫入』。

小結

在最後我們可以再提供一個方式來快速完成讀取動作,如上圖,我們把此動作弄成回圈型態,一樣使用『open』功能並透過讀取模式,就可以了,而且還有斷行,看起來會更清楚。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *