1. 程式人生 > >open函式的一些注意點及r,r+,w,w+,a,a+的區別

open函式的一些注意點及r,r+,w,w+,a,a+的區別

open函式的一些注意點
open(file[, mode[, buffering[, encoding[, errors[, newline]]]]])
(1)file檔案路徑及名稱,需要加引號如”/Users/macxunlei/Desktop/a.txt”
(2)mode檔案開啟模式,r、w、a為開啟檔案的基本模式,對應著只讀、只寫、追加模式;b、t、+、U這四個字元,與以上的檔案開啟模式組合使用,二進位制模式,文字模式,讀寫模式、通用換行符,根據實際情況組合使用、
(3)buffering的可取值有0,1,>1三個,0代表buffer關閉(只適用於二進位制模式),1代表line buffer(只適用於文字模式),>1表示初始化的buffer大小;
(4)encoding表示的是返回的資料採用何種編碼方式進行解碼,一般採用’utf-8’或者’gbk’;讀檔案相當於解碼過程,這個解碼過程的預設編碼(encoding為空)為系統決定的,若是windows預設為gbk,若是linux、max預設utf-8,只有這個預設編碼和檔案儲存時編碼一致才不會出現亂碼。
(5)errors的取值一般有strict,ignore,當取strict的時候,字元編碼出現問題的時候,會報錯,當取ignore的時候,編碼出現問題,程式會忽略而過,繼續執行下面的程式
(6)newline可以取的值有None, \n, \r, ”, ‘\r\n’,用於區分換行符,但是這個引數只對文字模式有效;

下面就mode中的r,r+,w,w+,a,a+作一下區分:
---------------------