如何學python-第十六課 基礎檔案操作
今天我們來說說檔案操作。檔案操作在程式編寫裡有著舉足輕重的作用。檔案操作,主要包含檔案的輸入和輸出。學會了檔案操作,就可以寫出更符合實際需求的指令碼。
我會先介紹兩種主要的I/O模式,然後介紹一下檔案的手動opening和closing。最後,介紹更加自動化的操作方式。
兩種主要I/O
操作
有好多方式進行檔案I/O操作。不過,最常使用的還是其中的兩種。一種是讀檔案(‘r’),另一種是寫檔案(‘w’)。這兩個操作的含義就是字面意思,從檔案讀資料和向檔案寫資料。
注意
標準的寫操作會把檔案覆蓋(這意味著原有的檔案內容會丟失)。想要在檔案後面增加內容而不影響原有的內容,也是可以的。在後面會說到這點。
手動檔案I/O
操作
當我們進行檔案I/O操作的時候,最好別用這種方式進行檔案操作。舉例來說,錯誤的關閉檔案可能會導致一些嚴重的錯誤。雖然這不是推薦的操作,但是卻很適合用來入門。
我們首先演示寫檔案。(
此演示在linux下進行
)首先建立一個叫做file的檔案,然後在裡面寫上(只是用文字編輯器開啟和寫入)”Hello,Null Byte!”。
現在我們有了個檔案。在進行檔案寫操作的時候,首先要在python裡開啟這個檔案。這個過程會建立一個物件,所以我們需要用一個變數把這個物件存進去。在例子中,我們用變數‘file’來存貯這個物件。
當我們開啟檔案的時候,需要使用open()函式,並對傳入檔案路徑和要進行什麼樣的檔案操作。看例子:
我們此時已經透過只讀方式打開了檔案。現在來透過列印變數file的內容來看看到底讀到了什麼:
我們可以看到除了讀到檔案內容之外,還有一行空白。這其實是換行符\n。現在我們成功的讀到了檔案,
一定一定要記得把檔案關上。
如果不關閉檔案,就會導致一些錯誤,檔案也可能會被損壞。我們可以用。close()方法來關閉檔案物件。
現在,我們已經成功的開啟、讀、關閉了檔案。下面來試試寫檔案。
寫檔案只要把open()的第二個引數換成’w’就可以了。向檔案‘file’中寫入”Hello,world!\n”:
記得手動加上\n,然後是檔案的關閉操作。現在再看看檔案裡的內容:
好了,這就是手動操作檔案的全部內容。
自動檔案I/O
操作
‘自動’,意味著不再需要手動開啟或者關閉檔案。我們可以用with關鍵字和as關鍵字來開啟和關閉檔案。這麼做的格式是
with open(‘
檔案路徑’,‘
操作方式’) as
儲存檔案的變數名
你可能注意到提示符的樣子從>>>變成了… 這是因為使用with和as關鍵字的時候,所有的io操作都必須在with/as的body部分裡。
這樣就不用手動關閉檔案了。下面演示一下寫操作:
現在來看看檔案寫進去了沒:
open的第二個引數還可以是以下幾種,基本大同小異,可以自行嘗試:
w 以寫方式開啟,
a 以追加模式開啟 (從 EOF 開始, 必要時建立新檔案)
r+ 以讀寫模式開啟
w+ 以讀寫模式開啟 (參見 w )
a+ 以讀寫模式開啟 (參見 a )
rb 以二進位制讀模式開啟
wb 以二進位制寫模式開啟 (參見 w )
ab 以二進位制追加模式開啟 (參見 a )
rb+ 以二進位制讀寫模式開啟 (參見 r+ )
wb+ 以二進位制讀寫模式開啟 (參見 w+ )
ab+ 以二進位制讀寫模式開啟 (參見 a+ )
總結
今天學了些挺有用的東西,希望大家都能看得懂。不久之後我們會學習一些更復雜的io操作。
======================================================================
英文原版請看:
http://
null-byte。wonderhowto。com
/how-to/python-training/
由於教程仍在翻譯過程中,在整套教程完結前,感興趣的同學請關注我的微信訂閱號(xuanhun521,下方二維碼),我會第一時間在訂閱號推送圖文教程和影片教程。問題討論請加qq群:Hacking (1群):303242737 Hacking (2群):147098303。
點選開啟二維碼
關注之後,請回復“Python”,獲取更多內容。