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模块处理!