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

9我不会告诉你,其实直接可以这样:

file = open(file_name)

for line in file:

dosomething(line)

不过这样做,每一行会保留换行符

补充一下,由于手头上没有电脑,我不确定我这种方法是否比你的第一种快,但是你的第一种方法是一次性将文件的内容全部读进一个list后再用for进行遍历,而第二种是一次读取一行处理,所以,第一种比第二种快是在理解范围内的,至于pypy的问题,我个人的理解是pypy优化while比优化for优化得更多(猜测)。。如果是特大文件的话,不推荐使用第一种方法。

2015年3月1号再次补充

基于严谨的科学态度,今天做了测试,我之前提到的方法是不会一次性读取所有文件的,使用660m的文件进行测试,

for i in file.readlines耗时1.5s

for i in file耗时0.86

while file.readline耗时3.3

而且,我还发现了一个更加神奇的事情,temp = file.readlines

for i in temp

比直接使用for i in file.readlines要快,耗时1.2s

最后测试了不同大小的文件,发现无论是大文件还是小文件,都是直接对文件对象进行for操作是最快的!

不过该结论局限于我自己的测试数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值