1. 程式人生 > >Python學習筆記六:文件處理

Python學習筆記六:文件處理

alt 筆記 lin 系統 顯式 當前位置 open 刷新 大小

一:打開文件

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學習筆記六:文件處理