Python 读取大文件

2017-08-11  本文已影响67人  037251a7c483
#!/usr/bin/env python
#coding: utf-8
'''
Xi Python Tips 16

使用with语句以及迭代文件对象处理大文件。

1. with语句基于上下文管理协议。Python对一些内建对象引入上下文管理,因此能够使用with语句。
比如文件对象,使用with语句后,不管处理过程中引发什么异常,都能够正确的关闭文件,释放占用的文件句柄。
2. 处理大文件时不能讲文件一次性全部读入内存,否则会撑爆内存(内存足够大除外)。因此不适合用 readline()。
使用readlines()能够做到逐行读取,但是使用with语句能保证正确关闭

测试环境: 6G日志
'''

with open("/alidata1/wwwlogs/access-rtb.log", 'r') as f:
    sum = 0
    for i in f:
        sum += 1
print sum
[root@nginx02 ~]# time python al.py 
45766144

real    1m17.330s
user    0m11.750s
sys 0m3.881s
上一篇下一篇

猜你喜欢

热点阅读