大檔案直接用read()函式會記憶體溢位
解決辦法
1. 一行一行的取
with open('t1.txt') as f:
while true:
data = f.readline()
# 判斷檔案是否結束
if not data:
break
2. 使用第三方模組linecache,可以取指定行
import linecache
# 讀取第2行
data = linecache.getline('t1.txt',2)
參考 python 讀取大檔案
以前一直沒有關注過python讀取大檔案的問題,因為一直都是順順暢暢地讀取了檔案。直到今天有人問我python怎麼讀取檔案出現了記憶體不足的錯誤?我才發現原來大檔案 gb級別 的讀取和普通檔案的讀取是不一樣的。下面介紹三種我親測可用的方法。這裡的檔案型別可以是txt,dat等型別的檔案。用read ...
python讀取大檔案
最近在學習python的過程中接觸到了python對檔案的讀取。python讀取檔案一般情況是利用open 函式以及read 函式來完成 f open filename,r f.read 這種方法讀取小檔案,即讀取遠遠大小小於記憶體的檔案顯然沒有什麼問題。但是如果是將乙個10g大小的日誌檔案讀取,即...
python讀取大檔案的方法及mmap記憶體對映模組
python計算檔案的行數和讀取某一行內容的實現方法 最簡單的辦法是把檔案讀入乙個大的列表中,然後統計列表的長度.如果檔案的路徑是以引數的形式filepath傳遞的,那麼只用一行 就可以完成我們的需求了 使用python內建的模組mmap可以處理大檔案 注意 mmap在mac下的支援不是很好,有些函...