對文件的操做主要爲三步:一、打開文件,獲得文件句柄。二、經過句柄對文件進行操做。三、關閉文件編碼
1 # 默認打開模式爲r,encoding默認爲系統文件編碼 2 f=open('F:/Go.txt','r',encoding='utf-8') 3 data=f.read() 4 f.close() 5 6 #自動關閉文件,同時能夠操做多個文件 Python換行須要在換行的最後加‘\’ 7 with open('F:/Go.txt','r') as read_f, open('F:/GoGo.txt', 'w') as write_f: 8 data=read_f.read() 9 write_f.write(data)
1 """ 2 打開一個文件並返回一個流.一旦失敗報OSError錯誤 3 mode是一個可選的字符串,它指定文件的打開模式,默認爲‘r’,即文件以只讀模式打開文件。其餘常見的模式有‘w’、‘a’、‘x’. 4 若文件爲文本文件,若是沒有指定編碼,那麼使用的編碼是系統編碼 經過調用locale.getpreferredencoding(False)來獲取當前編碼。 5 若文件爲字節文件 則不須要指定編碼, 6 可選擇的模式有: 7 ========= =============================================================== 8 Character Meaning 9 --------- --------------------------------------------------------------- 10 'r' 以只讀方式打開 (默認) 11 'w' 以只寫的方式打開, 從文件的第一個位置截斷【即擦除原文件內容,從新寫入】 12 'x' 建立一個文件,並以只寫的方式打開它 13 'a' 以只寫的方式打開文件, 若是它存在,則追加到當前文件的末尾 14 'b' 二進制模式 15 't' 文本模式 (默認) 16 '+' 以讀寫方式打開一個磁盤文件 17 'U' 通用換行模式 (棄用) 18 ========= =============================================================== 19 20 buffering是用來設置緩衝策略的可選整數. 21 0轉換緩衝(只容許在二進制模式下),1爲行緩衝(只能在文本模式中使用),若爲一個大於1的整數,則表示一個固定大小的緩衝區塊, 22 若沒有設置緩衝參數時,在給定的狀況下,默認的緩衝策略以下: 後續使用到再介紹 23 """ 24 def open(file,mode='r',buffering=None,encoding=None,errors=None,newline=None,closefd=True): 25 pass
從open定義可知,mode默認即爲‘r’,mode的模式能夠有:r:只讀模式 默認 文件必須存在 若不存在 則報錯 w:只寫模式 不可讀 文件存在則清空文件從新寫入 若不存在則建立文件 a:追加寫模式 不可讀 文件存在則追加 若不存在則建立文件rb:同r模式 只是文件內容爲字節 wb:同w模式 只是文件內容爲字節 ab:同a模式 只是文件內容爲字節spa
f=open('F:/Go.txt','r',encoding='utf-8') f.read() #讀取全部內容 返回值爲字符串 f.readline() #讀取一行內容 返回值爲字符串 f.readlines() #讀取每一行內容 返回值爲列表 f.write('aaaaa\nbbbb\n') #默認寫入文件不換行 f.writelines(['cccc\n','dddd\n']) #文件模式 f.readable() #文件是否可讀 f.writable() #文件是否可寫 f.closed #文件是否關閉 f.encoding #文件編碼,字節文件沒有編碼 f.flush() #馬上將文件內容從內存刷到硬盤 f.name # 文件名