python 花式读取大文件(10g/50g/1t)遇到的性能问题(面试向)

刘悦 at 
最近无论是面试还是笔试,有一个高频问题始终阴魂不散,那就是给一个大文件,至少超过 10g,在内存有限的情况下(低于 2g),该以什么姿势读它?所有人都知道,用 python 读文件有一套”标准流程“:defretrun_count(fname):"""计算文件有多少行"""count=0withopen(fname)asfile:forlineinfile:count+=1returncount 为什么这种文件读取方式会成为标准?这是因为它有两个好处:with 上下文管理器会自动关闭打开的文件描述符在迭代文件对象时,内容是一行一行返回的,不会占用...……