文件操做

1.文件處理流程

(1)用open命令打開一個文件並賦值給一個變量,獲得一個文件句柄python

(2)對文件句柄進行文件操做編碼

(3)用close命令關閉文件spa

1 f = open("test","r+",encoding="utf-8")
2 date = f.read()
3 f.close()

2.基本操做

  (1)打開文件

  f = open("文件絕對路徑」,「文件要進行的操做」,編碼格式)操作系統

   (2)文件操做命令

   1.f.read(),讀取所有文件內容,文件較大時最好不要使用code

      2.f.readline(),讀一行文件內容blog

      3.f.readlines(),以列表形式讀取文件所有內容內存

      4.f.close(),關閉文件utf-8

      5.f.write(),往文件中寫入內容ci

      6.f.closed(),判斷文件是否關閉it

      7.f.seek(),移動光標至指定字節位置

      8.f.tell(),告知當前光標所在的字節位置

      9.f.truncate(),截斷文件,從頭至指定位置

      10.f.flush(),刷新  

 (3)文件編碼

      原則:以什麼方式保存就以什麼方式打開,不指定編碼格式python2默認ascii,python3默認utf-8

      編碼:encode

      解碼:decode

 (4)flush命令

  flush原理:

  1.文件操做是經過軟件將文件從硬盤讀到內存

  2.寫入文件的操做也都是存入內存緩衝區buffer(內存速度快於硬盤,若是寫入文件的數據都從            內存刷到硬盤,內存與硬盤的速度延遲會被無限放大,效率變低,因此要刷到硬盤的數據咱們統            一往內存的一小塊空間即buffer中放,一段時間後操做系統會將buffer中的數據一次性刷到硬盤)

  3.flush即,強制將寫入的數據刷到硬盤

1 進度條
2 import sys,time
3 for i in range(50):
4     sys.stdout.write("%")
5     sys.stdout.flush()
6     time.sleep(1)

 (5)文件內光標移動>>>>>seek

   

      seek以字節方式讀取,特別的,read(3)表明讀取三個字符,seek有三種光標移動方式,             seek(位置,參數),seek有三種位置參數0,1,2

      seek(位置,0),表示相對於文件開頭位置移動光標

      seek(位置,1),表示相對於上一次光標所在的位置移動光標

      seek(位置,2),表示相對於文件最後一個位置移動光標

3.文件處理模式

文件句柄 = open("文件路徑","操做模式")

 

打開文件的模式有:

  r , 只讀模式   [默認模式,文件必須存在,不存在則拋出異常]

  w, 只寫模式【不可讀;不存在則建立;存在則清空內容】

  x,  只寫模式【不可讀;不存在則建立,存在則報錯】

  a,   追加模式【可讀;   不存在則建立;存在則只追加內容】

"+"表示能夠同時讀寫某個文件

  r+,  讀寫【可讀,可寫】

  w+,  寫讀【可讀,可寫】

  x+,   寫讀【可讀,可寫】

  a+,   寫讀【可讀,可寫】

"b"表示以字節的方式操做

  rb 或 r+b

  wb 或 w+b

  xb 或 w+b

  ab 或 a + b

注:以b方式打開時,讀取到的內容是字節類型,寫入時也須要提供字節類型,不能指定編碼

相關文章
相關標籤/搜索