https://www.jianshu.com/p/560ff3adfee3


Python 读取文件一般可以使用 read()readlines(),但这两种方法在读取大文件时都会存储内存缺陷。


1. read() 接口的问题


f = open(filename, 'rb')
f.read()


我们来读取 1 个规模为 3Gb 大小的文件,如人的参考基因组序列(hg19.fa)。read() 方法执行的操作,是一次性全部读入内存,显然会造成:MemoryError,也即会发生内存溢出!


2. readlines() 接口的问题