</pre>做日志分析,需要处理非常大的日志文件,常用的方法如下所述:<pre name="code" class="python">in_f = open(file_path, 'r')
while (True):
line = in_f.readline()
if line:
#对该行数据进行操作
else:
break
in_f.close()
但是当日志太大时这种方法并不可取(读取文件失败或者特别慢)
那么现在我们介绍两种方法:
1、with读取大文件
with open(file_path) as f:
for line in f:
#对该行代码进行操作
其中with负责处理open和close文件,抛出内部异常。而for则将文件对象当做迭代对象,自动处理IO缓冲和内存管理,这样就可以对大文件进行处理。
2、fileinput处理
import fileinput
for line in fileinput.input(['file_path'])
#对该行数据进行操作
参考http://www.zhidaow.com/post/python-read-big-file