Python學習筆記六:檔案處理

來源:互聯網
上載者:User

標籤:其他   磁碟   訪問   buffer   起點   lines   字元   str   實現   

一:開啟檔案

open(name,mode,[bufferSize])

name:檔案路徑

mode:檔案開啟檔案

 

二:檔案讀取

read()方法:可以一次讀取檔案的全部內容,Python把內容讀到記憶體,用一個str對象表示。

readline([size]):如果不傳參,一次預設讀取一行。如果size<一行長度,則讀取size個位元組。如果size>一行長度,則唯讀取一行。

readlines():一次讀取io.DEFAULT_BUFFER_SIZE行,約586行,以字串數組的形式返回讀取結果。

迭代讀取:可以使用iter(file)函數把開啟的檔案轉換為可迭代對象,然後有for...in 迭代訪問,每次迭代讀取一行。

file=open("filename.txt",‘r+‘)iter_f=iter(file)for str in iter_f:    使用str

 

三:檔案寫入

write(str):把str寫入檔案。注意:必須是寫字串。如果寫其他內容,請轉換為字串再寫入。

writelines(some_str):參數可以是字串元組、或者可迭代的字串對象

 

寫緩衝與寫磁碟:

在調用了write(str)/writelines(some_str)後,只是把寫的內容寫入到了記憶體中,此時還沒有更新到檔案。

需要顯式 f.flush()或f.close()強制把記憶體中的快取資料刷入磁碟才可以把資料寫入磁碟中。

當寫入緩衝中的資料大於緩衝區容量時,Python解譯器會自動重新整理緩衝區把資料寫入磁碟,緩衝區大小為155648位元組

 

四:檔案指標與隨機讀寫

在Python中,寫入資料後不能立即讀取,必須關閉檔案重寫開啟才可以;並且讀取過的內容,不能再次讀取到。這是因為檔案指標移動的原因:檔案開啟時,檔案指標指向檔案開頭,此時執行read/write操作會移動檔案指標,進行讀寫。一次讀寫完成後,指標會停留在該次操作的結束處。下一次調用讀寫時,會接著上次停止的地方繼續移動檔案指標進行讀寫。

隨機讀寫的實現:瞭解了檔案指標的移動原理後,我們就可以自己控制指標的移動,去讀寫檔案中我們想要操作的位置了。

檔案指標移動指令:file.seek(位移量,起點位置)

起點位置有三種:os.SEEK_SET(檔案開頭)、os.SEEK_END(檔案結尾)、os.SEEK_CUR(檔案指標當前位置)

位移量:可以是正數,也可以是負數。正數下移,負數前移。如果移動範圍超過檔案範圍則報錯。

 

五:檔案關閉

f.close()

檔案操作完畢要關閉的原因:

1:強制把寫入檔案的資料刷入磁碟

2:系統中允許每個進程同時開啟的檔案數是有限的

 

Python學習筆記六:檔案處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.