1. 程式人生 > >武道之路-煉體期四重天

武道之路-煉體期四重天

odin read 記得 文檔 內容 轉換成 字節數 eal 打開文件

文件的一些基本操作:

打開文件: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(),強制提交寫入硬盤。 

武道之路-煉體期四重天