在操作某個很多程序都要頻繁用到的大檔案的時候,應該盡早釋放檔案資源(f.close())
前2種方法主要用到了列表解析,效能稍差,而最後一種使用的時候生成器表示式,相比列表解析,更省記憶體
列表解析和生成器表示式很相似:
列表解析
[expr for iter_var in iterable if cond_expr]
生成器表示式
(expr for iter_var in iterable if cond_expr)
longest =0f = open(file_path,"r"
)alllines = [line.strip() for line in
f.readlines()]
f.close()
for line in
alllines:
linelen =len(line)
if linelen>longest:
longest = linelen
f = open(file_path,"r")alllinelens = [len(line.strip()) for line in
f]longest =max(alllinelens)
f.close()
缺點:一行一行的迭代f的時候,列表解析需要將檔案的所有行讀取到記憶體中,然後生成列表
f = open(file_path,"r")longest = max(len(line) for line in
f)f.close()
或者
print max(len(line.strip()) for line in open(file_path))
php如何高效的讀取大檔案
通常來說在php讀取大檔案的時候,我們採用的方法一般是一行行來讀取,而不是一次性把檔案全部寫入記憶體中,這樣會導致php程式卡死,下面就給大家介紹這樣乙個例子。需求 有乙個800m的日誌檔案,大約有500多萬行,用php返回最後幾行的內容。實現方法 取檔案最後 n行 param string fil...
python 大檔案的讀取
在這裡插入 片很久以前做數學建模的時候面臨了一回大檔案的讀取問題,當時沒有什麼程式設計經驗就使用如下的 進行了讀取。with open filename,rb as fp for line in fp.readlines do something line 這種 在檔案比較小時倒也沒有太大影響,但是...
python 讀取大檔案
以前一直沒有關注過python讀取大檔案的問題,因為一直都是順順暢暢地讀取了檔案。直到今天有人問我python怎麼讀取檔案出現了記憶體不足的錯誤?我才發現原來大檔案 gb級別 的讀取和普通檔案的讀取是不一樣的。下面介紹三種我親測可用的方法。這裡的檔案型別可以是txt,dat等型別的檔案。用read ...