打開模式
w write 寫入模式
檔案不存在則建立檔案,存在的話則打開清空内容,并且将檔案指針放在檔案的開頭
r read 讀取模式
檔案不存在則報錯! 存在的話則打開檔案,并且将檔案指針放在檔案的開頭
a append 追加模式
檔案不存在則建立檔案,存在的話則打開檔案,*并且将檔案指針放在檔案的末尾*
x xor 異或模式
檔案已存在則報錯! 不存在的話則建立檔案,将檔案指針放在檔案的開頭
#擴充模式 (配合打開模式的輔助模式,自己單獨不能使用)
+ plus 增強模式(可以讓檔案具有讀寫功能)
b bytes bytes模式(二進制位元組流)
#模式一共16種
w,w+,wb,wb+
r,r+,rb,rb+
a,a+,ab,ab+
x,x+,xb,xb+
# 将字元串和位元組流(Bytes流)類型進行轉換 (參數寫成轉化的字元編碼格式)
#encode() 編碼 将字元串轉化為位元組流(Bytes流)
#decode() 解碼 将Bytes流轉化為字元串
# (utf-8編碼格式下 預設一個中文三個位元組 一個英文或符号 占用一個位元組)
read() 功能: 讀取字元的個數(裡面的參數代表字元個數)
seek() 功能: 調整指針的位置(裡面的參數代表位元組個數)
tell() 功能: 目前光标左側所有的位元組數(傳回位元組數)
# 重新整理緩沖區 flush
當檔案關閉的時候自動重新整理緩沖區
當整個程式運作結束的時候自動重新整理緩沖區
當緩沖區寫滿了 會自動重新整理緩沖區
手動重新整理緩沖區
with 文法 自動關閉檔案 相當于幫你執行了fp.close()
檔案相關函數
#readline() 功能: 讀取一行檔案内容
#readlines() 功能:将檔案中的内容按照換行讀取到清單當中
#writelines() 功能:将内容是字元串的可疊代性資料寫入檔案中 參數:内容為字元串類型的可疊代資料
#truncate() 功能: 把要截取的字元串提取出來,然後清空内容将提取的字元串重新寫入檔案中 (位元組)
#readable() 功能: 判斷檔案對象是否可讀
#writable() 功能: 判斷檔案對象是否可寫
字元相關的(了解)
#字元:無論是什麼語言,獨立的一個文字就是一個字元
#存儲機關:
Byte位元組
bit:位
1B = 8b
B:位元組, 1Byte = 8bit
#字元大小:
無論何種字元集:英文和數字都是一個位元組,漢字,韓文,日文等亞洲文字采用多個位元組存儲
GB系列編碼:存儲一個漢字使用2個位元組 (國标編碼:例如: gbk2312 )
UTF系列編碼:存儲一個漢字使用3個位元組(國際通用:例如: utf-8 )
#字元編碼種類: (把編碼看成一個密碼本,每一個字元在計算機中都是個二進制)
英文原始編碼:
ASCII碼 -> 最早的字元編碼格式->僅支援英文和特定的符号
中文編碼:
GB2312 : 包含5000個常用漢字的标準
GB18030: 更新版本的标準,大概15000個漢字
GBK : 包含所有中文漢字的編碼(推薦)
BIG5 : 繁體中文編碼
萬國碼:
unicode 包含世界上所有的文字(無論什麼字元 都按照4個位元組表示)
utf-8 可變長的unicode編碼