Python 高效計算大檔案中的最長行的長度

2022-02-03 12:33:34 字數 927 閱讀 2419

在操作某個很多程序都要頻繁用到的大檔案的時候,應該盡早釋放檔案資源(f.close())

前2種方法主要用到了列表解析,效能稍差,而最後一種使用的時候生成器表示式,相比列表解析,更省記憶體

列表解析和生成器表示式很相似:

列表解析

[expr for iter_var in iterable if cond_expr]

生成器表示式

(expr for iter_var in iterable if cond_expr)

longest =0

f = 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 ...