Python linecache模組讀取檔案

2021-09-07 17:39:54 字數 1028 閱讀 8025

【linecache】

過往在讀取檔案的時候,我們通常使用的是這種模式:

with open('

file.txt

','r

') as f:

line =f.readline()

while

line:

print line #

一些行級別的處理

line = f.readline()

這麼做的好處在於通過一行一行讀取內容,不會一下子把整個檔案內容讀到記憶體中去。

在長時間的實踐中可以發現,這種讀取檔案的**是一種相對比較固定的模式。既然是固定的模式,那麼肯定就有輪子了。事實上python自帶了乙個linecache模組,這個模組可以方便地實現對行的讀取,並且是按照上面的那種逐漸快取式的讀取。

■  基本使用  

linecache.getlines(filename)  指向乙個檔案,獲取其所有行。返回的是乙個列表,相當於是f.readlines()的返回,列表中每行內容也都是以\n結尾的。

linecache.getlilne(filename,lineno)  指定一行返回。注意這個是lineno而不是index,也就是說getline(filename,1)返回的是第一行而不是第二行。返回的行包含換行符,另外如果指定行不存在也不會報錯而是返回空行。

linecache.updatecache(filename)  當檔案內容發生改變時,如果需要獲得到最新的檔案內容,那麼需要呼叫這個方法。如果不呼叫,仍然使用在快取中的老檔案內容。類似的操作還可以是linecache.clearcache之後再getlines也行。

linecache.clearcache()  清除當前的所有快取

linecache.checkcache(filename)  檢查快取的有效性,如果檔案已經不存在,或者內容被改變,那麼老內容的快取會被清除。在很多其他類似的場景中這個方法似乎應該是自動被呼叫的,但是在linecache中這個方法是需要手動呼叫的。從某種意義上來說,這個方法相當於是updatecache和clearcache的智慧型結合。

python linecache 模組讀取檔案

python linecache 模組讀取檔案用法詳解 linecache 模組允許從任何檔案裡得到任何的行,並且使用快取進行優化,常見的情況是從單個檔案讀取多行。linecache.getlines filename 從名為 filename 的檔案中得到全部內容,輸出為列 式,以檔案每行為列表中...

Python linecache模組讀取檔案

linecache 過往在讀取檔案的時候,我們通常使用的是這種模式 with open file.txt r as f line f.readline while line print line 一些行級別的處理 line f.readline 這麼做的好處在於通過一行一行讀取內容,不會一下子把整個...

讀取Structs properties檔案

在這裡我直接返回的是properties物件 這樣更靈活 可以在外部呼叫的時候想哪到properties檔案裡的哪個屬性都行,當然必須要是properties裡存在的。讀取properties檔案 param propertiesname return public static propertie...