国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 實時遍歷日志文件

2019-11-25 16:50:53
字體:
來源:轉載
供稿:網友

open 遍歷一個大日志文件

使用 readlines() 還是 readline() ?

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

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

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

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

import osimport timedef 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:#對行內容進行操作f.write(line)#獲取當前位置,為下次while循環做偏移p = f.tell()print 'now p ', pf.close()f.close()time.sleep()if __name__ == '__main__':check() 

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

import osimport timedef 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:#對行內容操作f.write(l)else:#獲取當前位置,作為偏移值p = f.tell()f.close()f.close()breakprint 'now p', ptime.sleep()if __name__ == '__main__':check()

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平远县| 涿鹿县| 安阳县| 兴城市| 渝北区| 浦北县| 康马县| 大厂| 金山区| 师宗县| 镇坪县| 图木舒克市| 沐川县| 喜德县| 三门峡市| 内乡县| 闻喜县| 手游| 界首市| 于田县| 治多县| 丰城市| 平乐县| 陕西省| 长海县| 沂南县| 沐川县| 钟祥市| 漠河县| 财经| 东乡| 东明县| 合川市| 湘乡市| 泰州市| 时尚| 高邮市| 永平县| 五原县| 南汇区| 嫩江县|