天天看點

Python自學個人知識點記錄8---檔案

1.使用open()函數來打開檔案,第一個參數是檔案路徑,第二個參數功能如圖: 注意:用w寫入打開的話,之前的檔案會不見,因為是直接覆寫的,建議使用a來打開;

Python自學個人知識點記錄8---檔案

例如:>>> f = open('D:\\Workspaces\\Python\\text.txt')

>>> f

<_io.TextIOWrapper name='D:\\Workspaces\\Python\\text.txt' mode='r' encoding='cp936'>

>>> f.read()

'今天也是學習python的一天,\n今天學習的是檔案,\n檔案首先需要被讀取。'

2.檔案對象方法:

  ①f.close():關閉檔案,必有,否則資料則停留在緩沖區;

  ②f.read(size=-1):從檔案讀取size個字元,當未給定size或給定負值的時候,讀取剩餘的所有字元,然後作為字元串傳回,舉例>>> f.read()

'今天也是學習python的一天,\n今天學習的是檔案,\n檔案首先需要被讀取。';

  ③f.readline():以寫入模式打開(從目前指針處開始讀取一行),如果檔案存在,則在末尾追加寫入,舉例:>>> f.seek(0,0)

>>> f.readline()

'今天也是學習python的一天,\n';  

  ④f.write(str):将字元串str寫入檔案,傳回寫入的字元數目;

  ⑤ f.seek(offset,from):在檔案中移動檔案指針,從from(0代表檔案起始位置,1代表目前位置,2代表檔案末尾)偏移offset個位元組(注意當from為0的時候,offset不可為負數),f.seek(0,0)定位到起始位置,舉例:>>> f.seek(2,0)

2;

  ⑥f.tell():傳回目前在檔案中的位置(注意:一個中文占兩個位元組),舉例:>>> f.tell()

28;

  ⑦f.writelines(seq):像檔案中寫入字元串序列seq(就是元素是字元串的序列),seq應該是一個傳回字元串的可疊代對象;

  ⑧檔案可使用疊代直接讀取,舉例>>> for eachline in f:

    print(eachline)

今天也是學習python的一天,

今天學習的是檔案,

檔案首先需要被讀取。;