python按行遍历一个大文件,最优的语法应该是什么?

 

理论上来说,总体上file.readlines()可以(取决于实现)不慢于你自己手动的一次次调用file.readline(),因为前者的循环在C语言层面,而你的循环是在Python语言层面。

但是在内存占用上前者可能是后者的好几十百倍,因为前者会一次性把所有数据读取到内存中,而后者只每次读取一行。

更好的写法是:
with open('filename') as file:
    for line in file:
        do_things(line)

 

posted on 2019-02-23 23:53  星河赵  阅读(532)  评论(0编辑  收藏  举报

导航