強悍的 Python 讀取大檔案

2021-08-30 22:10:48 字數 1185 閱讀 4827

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

python 環境下檔案的讀取問題,請參見拙文 python 基礎 —— 檔案

這是一道著名的 python 面試題,考察的問題是,python 讀取大檔案和一般規模的檔案時的區別,也即哪些介面不適合讀取大檔案。

f = open(filename, 'rb')f.read()
我們來讀取    1 個 nginx 的日至檔案,規模為 3gb 大小。read() 方法執行的操作,是一次性全部讀入記憶體,顯然會造成:

memoryerror...
也即會發生記憶體溢位。

(2)readline():每次讀取一行,

while

true:    line = f.readline()    if

not line:        break

(3)read(1024):過載,指定每次讀取的長度

while

true:    block = f.read(1024)    if

notblock:        break

真正 pythonci 的方法,使用 with 結構:

with

open(filename, 'rb') as f:    for

line

in f:       

theline>

對可迭代物件 f,進行迭代遍歷:for line in f,會自動地使用緩衝io(buffered io)以及記憶體管理,而不必擔心任何大檔案的問題。

there should be one – and preferably only one – obvious way to do it.

how to read large file, line by line in python

給我老師的人工智慧教程打call!

強悍的Python讀取大檔案的解決方案

這是一道著名的 python 面試題,考察的問題是,python 讀取大檔案和一般規模的檔案時的區別,也即哪些介面不適合讀取大檔案。1.read 介面的問題 f open filename,rb f.read 我們來讀取 1 個 nginx 的日至檔案,規模為 3gb 大小。read 方法執行的操作...

強悍的Python讀取大檔案的解決方案

python 環境下檔案的讀取問題,請參見拙文 python基礎之檔案讀取的講解 這是一道著名的 python 面試題,考察的問題是,python 讀取大檔案和一般規模的檔案時的區別,也即哪些介面不適合讀取大檔案。1.read 介面的問題 f open filename,rb f.read 我們來讀...

python 讀取大檔案

以前一直沒有關注過python讀取大檔案的問題,因為一直都是順順暢暢地讀取了檔案。直到今天有人問我python怎麼讀取檔案出現了記憶體不足的錯誤?我才發現原來大檔案 gb級別 的讀取和普通檔案的讀取是不一樣的。下面介紹三種我親測可用的方法。這裡的檔案型別可以是txt,dat等型別的檔案。用read ...