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+作一下區分:
---------------------