一巷蚪,文件處理
1毒姨,文件打開
def open(flie,mode,buffering,encoding,errors,newline,closefd)
file : 文件路徑(相對(duì)和絕對(duì))衣陶,要注意路徑中"\"财饥,可能起到轉(zhuǎn)義的作用,所以一般把"\"改"/"
mode:打開文件模式
?r? ?只讀
w? ?只寫务嫡,如果有文件內(nèi)容甲抖,直接覆蓋
x? ? 只寫,如果有文件內(nèi)容心铃,直接報(bào)錯(cuò)
a? ? 追加模式准谚,直接在文件內(nèi)容后面加上添加內(nèi)容
t? ? ?文本模式,默認(rèn)
b? ? 二進(jìn)制模式
+? ? 更新模式去扣,可讀可寫
buffing設(shè)置緩沖區(qū)
encoding文件操作編碼
errors報(bào)錯(cuò)級(jí)別
newline設(shè)置換行符
closefd文件關(guān)閉模式柱衔,關(guān)閉返回True
2,文件讀寫
(1)函數(shù)
def read() 默認(rèn)讀取全部?jī)?nèi)容,也可以設(shè)置讀取個(gè)數(shù)
def readline() 讀取每行數(shù)據(jù)(以"\n"為結(jié)尾)厅篓,可以設(shè)置讀取行數(shù)
def readlines() 讀取全部數(shù)據(jù)行秀存,以列表形式返回
def writeable() 判斷文件是否可以寫入
def write() 文件寫入
def writelines() 寫入一組數(shù)據(jù)
(2)with簡(jiǎn)化
with表示自動(dòng)調(diào)用close()函數(shù)
文件打開一定要用close()進(jìn)行資源釋放捶码,把open()函數(shù)羽氮,放入其中不需要close()
3,隨機(jī)讀取
(1)函數(shù)
def seek(a)? 偏移到位置a
def seekable() 判斷是否可以偏移
def tell() 獲取當(dāng)前偏移位置
補(bǔ)充:
Python strip() 方法用于移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列惫恼。
(2)yeild
yield 用于獲取讀取的數(shù)據(jù)档押,等待處理
4,文件編碼
(1)類型:
ISO:國際通用單字節(jié)編碼
GBK:中文的國際編碼
UNICODE:十六進(jìn)制編碼
UTF:UNICODE升級(jí),可以節(jié)省空間令宿,有可以準(zhǔn)確
查看window系統(tǒng)采用編碼
win+R 打開cmd
cmd 輸入chcp,若返回936叼耙,則是GBK,一般都是GBK
(2)UTF-8,GBK
一般window系統(tǒng)中文件編碼為GBK,所以在用open打開文件時(shí)粒没,都要轉(zhuǎn)UTF-8編碼
而Python編譯器用的是默認(rèn)UTF-8