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

python 實(shí)時遍歷日志文件

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

open 遍歷一個大日志文件

使用 readlines() 還是 readline() ?

總體上 readlines() 不慢于python 一次次調(diào)用 readline(),因?yàn)榍罢叩难h(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)容進(jìn)行操作
f.write(line)
#獲取當(dāng)前位置,為下次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:
#獲取當(dāng)前位置,作為偏移值
p = f.tell()
f.close()
f.close()
break
print 'now p', p
time.sleep()
if __name__ == '__main__':
check()

相關(guān)文章

最新評論

辽源市| 霍山县| 金秀| 虎林市| 宁波市| 凯里市| 阜平县| 平定县| 嘉峪关市| 嘉善县| 宝清县| 铁岭县| 平遥县| 伊吾县| 开远市| 家居| 余庆县| 江源县| 罗定市| 姚安县| 郎溪县| 民丰县| 高碑店市| 巴东县| 收藏| 武邑县| 盐山县| 武宁县| 沅陵县| 北安市| 洮南市| 五台县| 阿瓦提县| 凤庆县| 绥江县| 旌德县| 宁武县| 师宗县| 聊城市| 临泽县| 潮安县|