1. 程式人生 > >python讀取大文件和普通文件

python讀取大文件和普通文件

readlines error 如何 lines bsp utf span 異常 spa

讀取文件,最常見的方式是:

with open(filename, r, encoding = utf-8) as f:
    for line in f.readlines():
        do_something(line)

但是,當完成這一操作時,readlines() 方法(read() 也一樣)會將整個文件加載到內存中。在文件較大時,往往會引發 MemoryError(內存溢出)。

那麽,如何避免這個問題?

這才是 Pythonci 最完美的方式,既高效又快速:

with open(filename, r, encoding = utf-8) as f:
    
for line in f: do_something(line) with 語句句柄負責打開和關閉文件(包括在內部塊中引發異常時),for line in f 將文件對象 f 視為一個可叠代的數據類型,會自動使用 IO 緩存和內存管理,這樣就不必擔心大文件了。

python讀取大文件和普通文件