python讀取大檔案
我們在處理小的文字檔案時一般使用.read()、.readline() 和 .readlines()方法,但是當我們的檔案有2個G,5個G甚至更大時,用這些方法記憶體就直接爆掉了。
對一般檔案,如果檔案很小,read()一次性讀取最方便;如果不能確定檔案大小,反覆呼叫read(size)比較保險;如果是配置檔案,呼叫readlines()最方便。
讀取大檔案方法:
一、Read In Chunks
把大檔案分成小塊來讀
def read_in_chunks(filePath, chunk_size=1024*1024):
"""
Lazy function (generator) to read a file piece by piece.
Default chunk size: 1M
You can set your own chunk size
"""
file_object = open(filePath)
while True:
chunk_data = file_object.read(chunk_size)
if not chunk_data:
break
yield chunk_data
if __name__ == "__main__":
filePath = './path/filename'
for chunk in read_in_chunks(filePath):
process(chunk) # <do something with chunk>
二、Using with open()
with語句開啟和關閉檔案,包括丟擲一個內部塊異常。for line in f檔案物件f視為一個迭代器,會自動的採用緩衝IO和記憶體管理,所以你不必擔心大檔案。
#If the file is line based
with open(...) as f:
for line in f:
process(line) # <do something with line>
三、fileinput處理
import fileinput
for line in fileinput.input(['sum.log']):
print line
參考:
http://www.zhidaow.com/post/python-read-big-file
https://www.cnblogs.com/wulaa/p/7852592.html
f = open(filename,'r')
f.read()
#1:
while True:
block = f.read(1024)
if not block:
break
#2:
while True:
line = f.readline()
if not line:
break
#3:
for line in f.readlines():
pass
#4:
with open(filename,'r') as file:
for line in file:
pass
#5:the second line
import linecache
txt = linecache.getline(filename,2)
相關文章
- python如何讀取大檔案Python
- Python生成器讀取大檔案Python
- python讀取大檔案的幾種方法Python
- python小白檔案讀取Python
- python 讀取文字檔案Python
- Python 讀取HDF5檔案Python
- python怎麼讀取配置檔案Python
- python解壓並讀取檔案Python
- php讀取大檔案詳解PHP
- python檔案建立、讀取和寫入Python
- python讀取yaml配置檔案的方法PythonYAML
- 透過python讀取ini配置檔案Python
- python 使用字典讀取CSV檔案Python
- python檔案讀取 readlines()方法之坑Python
- python-geopandas讀取、建立shapefile檔案Python
- 如何在python中讀取配置檔案Python
- java讀取大檔案並處理Java
- python讀取docx檔案,就是如此簡單Python
- Python實用方法之讀取本地檔案Python
- 任意檔案讀取
- Java 讀取檔案Java
- Python讀取大檔案的"坑“與記憶體佔用檢測Python記憶體
- CSV檔案讀取效能大決戰:Julia 、Python與R語言 - DeepakPythonR語言
- 【python】python初學 讀取map檔案資料到excel中PythonExcel
- python讀取檔案指定行的三種方法Python
- Python逐行讀取檔案常用的三種方法!Python
- 使用Python讀取PlantUML匯出的XMI檔案Python
- python中xlrd庫如何實現檔案讀取?Python
- windows powershell 如何讀取大檔案前10行Windows
- go配置檔案讀取Go
- springboot讀取配置檔案Spring Boot
- 用友任意檔案讀取
- viper 讀取配置檔案
- matlab讀取npy檔案Matlab
- cocos讀取plist檔案
- IOC - 讀取配置檔案
- 前端讀取excel檔案前端Excel
- 【自動化測試】Python 讀取 .ini 格式檔案Python