如何在不超載記憶體的情況下逐行讀取海量檔案
逐行讀取冗長的檔案可能是一個挑戰,尤其是當檔案大小超過系統記憶體時容量。在這種情況下,嘗試使用標準方法將整個檔案載入到記憶體中通常會導致記憶體不足錯誤。
考慮以下程式碼片段:
with open('inputfile.txt', 'r') as f: for line in f: # Process the line
在大檔案時,整個檔案都會載入到記憶體中,如果檔案在 GB 範圍內,這可能會導致問題。
要避免此問題,請考慮使用fgets() 函數,它允許您逐行讀取文件,而無需將整個文件加載到內存中:
with open('inputfile.txt', 'r') as f: while True: line = fgets(f) if not line: break # Process the line
這種方法逐行讀取文件,每處理完一行就釋放內存,防止內存不足錯誤。
以上是如何在不耗盡記憶體的情況下逐行處理千兆位元組大小的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!