python中读取文件最常用的方式是:
for line in open('myfile','r').readlines():
do_something(line)
When this is done, however, the readlines() function loads the entire file into memory as it runs.
在这种情况下,在运行的时候,readlines()函数将整个文件加载到内存中。
如果这个文件很大的话,就会影响到程序运行的速度,甚至会导致程序挂掉
目前我查到的可供选择的解决办法:
#BUF_SIZE = 1024
#bigfile = open('tmplog.log','r')
#tmp_lines = bigfile.readlines(BUF_SIZE)
#while tmp_lines:
# for line in tmp_lines:print line
# tmp_lines = bigfile.readlines(BUF_SIZE)
一次读一部分数据!
法2.
for line in fileinput.input(['tmplog.log']):
print line
利用fileinput模块处理!
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/459295,如需转载请自行联系原作者