武道之路-煉體期四重天
文件的一些基本操作:
打開文件:f=open(‘文件‘,‘打開方式’,encoding=‘編碼‘) 文件句柄,不寫默認是讀模式,編碼是程序裏的默認編碼。
關閉文件:f.close(),f.closed是判斷文件是否關閉 沒有返回False
打開方式(文檔模式):‘r’ 讀模式,‘r+‘ 讀寫模式(寫好像在最後一行),‘rb‘ 二進制讀模式,不要傳編碼;
‘w’寫模式(創建一個新文件或並覆蓋原來同名文件的內容),‘w+’寫讀模式(據說沒什麽卵用,我也不熟悉),‘wb‘,二進制寫模式,字符串記得encode()
‘a‘文件最後追加模式(不能讀),‘a+’ 追加讀寫模式,‘ab’ 二進制追加模式,
U模式跟b 類似,把/r/n 都轉換成/n,還有一些自己去組合
一些方法(假設有個光標):
f.tell(),打印出光標的位置(一般默認是0)
f.seek(num),指定光標到什麽位置
f.readalbe()文件是否可讀;f.writealbe() 文件是否可寫,f.seekalbe() 文件是否可移動光標,
f.name 打印文件名 f.mode 打印文檔模式,f.encoding,打印編碼
f.truncate(22),從頭開始截取多少數量 f.detach() 文件編輯中突然改編碼
f.read(num) 讀文件所有內容,光標移最後 num多少字符 二進制是字節數(很多雷同)
f.readline(num)讀一行內容,光標移下一行開始,num多少字符 二進制是字節數(很多雷同)
f.readlines(num)讀所有行內容,每行是列表裏的一個元素,讀到num是多少字符,
高效的循環文件的每一行:
for line in f: #不要readlines(文件太大很費時間或是硬盤不夠大)
print(line)
f.write(‘內容‘) 一般看光標寫入位置,文檔模式不同會有不同(有些模式直接寫在最後)
文件讀寫 在計算機有緩存機制,一般寫入的時候,存入內存緩存區,等到達一定數量才提交寫入硬盤
而 f.flush(),強制提交寫入硬盤。
武道之路-煉體期四重天