1. 程式人生 > >python讀取大檔案和普通檔案

python讀取大檔案和普通檔案

讀取檔案,最常見的方式是:

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 快取和記憶體管理,這樣就不必擔心大檔案了。