python读写大文件方法
read()方法跟readlines()方法都是一次性把所有内容全部读取到内存中,如果是小文件还可以使用这两种方法,大文件的话就GG了,直接导致内存溢出。
readline()方法是一次读取一行 效果好一点
read(size) ==>read(1024)给定读取的大小也可以用但是不是最好的方法
with open(“filename”,“r”) as f:
for line in f:
#do something
用 for line in f :这种用法是把文件对象当作迭代对象系统自动处理IO缓冲和内存管理,这种方法比较简单,其实就是把文件加载到内存之后,文件迭代会很快,并且抛出异常之后能正常的关闭文件。
方法其实有很多,with open ……的方法是最简洁的。