關於文件操作的幾種常用方式,網上已有很多解說,內容很豐富,但也因此有些雜亂復雜。今天,我就以我個人的學習經驗寫一篇詳細又易懂的總結文章,希望大家看完之后會有所收獲。
一、各模式逐個分解
‘r’:只讀。該文件必須已存在。
‘r+’:可讀可寫。該文件必須已存在,寫為追加在文件內容末尾。
‘rb’:表示以二進制方式讀取文件。該文件必須已存在。
‘w’:只寫。打開即默認創建一個新文件,如果文件已存在,則覆蓋寫(即文件內原始數據會被新寫入的數據清空覆蓋)。
‘w+’:寫讀。打開創建新文件並寫入數據,如果文件已存在,則覆蓋寫。
‘wb’:表示以二進制寫方式打開,只能寫文件, 如果文件不存在,創建該文件;如果文件已存在,則覆蓋寫。
‘a’:追加寫。若打開的是已有文件則直接對已有文件操作,若打開文件不存在則創建新文件,只能執行寫(追加在后面),不能讀。
‘a+’:追加讀寫。打開文件方式與寫入方式和'a'一樣,但是可以讀。需注意的是你若剛用‘a+’打開一個文件,一般不能直接讀取,因為此時光標已經是文件末尾,除非你把光標移動到初始位置或任意非末尾的位置。(可使用seek()方法解決這個問題,詳細請見下文Model 8 示例)
看完上面各個模式的釋義,可能有的人會覺得一堆文字有些枯燥,我一開始也是覺得如此,but,看似那么多模式,無非是三大類:讀r(read),寫w(write),追加a(append)。
當然,我會用盡可能精短的代碼為大家解釋,文件操作各個模式具體如何使用。請繼續往下看。
二、示例解說
Model 1: r ---只讀模式============================================&