最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 實時遍歷日志文件

 更新時間:2016年04月12日 13:31:44   作者:卑鄙的wo  
這篇文章主要介紹了python 實時遍歷日志文件 的相關資料,需要的朋友可以參考下

open 遍歷一個大日志文件

使用 readlines() 還是 readline() ?

總體上 readlines() 不慢于python 一次次調(diào)用 readline(),因為前者的循環(huán)在C語言層面,而使用readline() 的循環(huán)是在Python語言層面。

但是 readlines() 會一次性把全部數(shù)據(jù)讀到內(nèi)存中,內(nèi)存占用率會過高,readline() 每次只讀一行,對于讀取 大文件, 需要做出取舍。

如果不需要使用 seek() 定位偏移, for line in open('file') 速度更佳。

使用 readlines(),適合量級較小的日志文件

import os
import time
def check():
p = 
while True:
f = open("log.txt", "r+")
f = open("result.txt", "a+")
f.seek(p, )
#readlines()方法
filelist = f.readlines()
if filelist:
for line in filelist:
#對行內(nèi)容進行操作
f.write(line)
#獲取當前位置,為下次while循環(huán)做偏移
p = f.tell()
print 'now p ', p
f.close()
f.close()
time.sleep()
if __name__ == '__main__':
check() 

使用 readline(),避免內(nèi)存占用率過大

import os
import time
def check():
p = 
while True:
f = open("log.txt", "r+")
f = open("result.txt", "a+")
f.seek(p, )
#while readline()方法
while True:
l = f.readline()
#空行同樣為真
if l:
#對行內(nèi)容操作
f.write(l)
else:
#獲取當前位置,作為偏移值
p = f.tell()
f.close()
f.close()
break
print 'now p', p
time.sleep()
if __name__ == '__main__':
check()

相關文章

最新評論

都匀市| 德州市| 原平市| 临澧县| 临海市| 赤峰市| 崇明县| 桦南县| 宁化县| 平昌县| 札达县| 吴忠市| 原阳县| 钟祥市| 句容市| 桓台县| 安溪县| 杭锦旗| 调兵山市| 赤壁市| 南涧| 巴中市| 华安县| 志丹县| 札达县| 明光市| 永平县| 四会市| 云浮市| 瓮安县| 灯塔市| 龙江县| 宾川县| 三门峡市| 宜黄县| 曲沃县| 克拉玛依市| 老河口市| 封丘县| 绥德县| 广西|