python 读取更新中的log 或其它文本方式


Posted in Python onDecember 24, 2019

在项目中遇到这个问题,想把本地的log文件通过 Server-Send Event 的形式 发送给前端。

但是如何把那些 新增加log文本 读取出来就成了问题。

想过遍历log文件取得行数,读取最后几行文件,这种方式,不过缺点也很明显,log 文件很有可能会重复。因此在网上看了些介绍,也查了些资料,整理了如下代码。

start_point=0
def read_logs():
  fo = open("heakth_info.log", "rb") # 一定要用'rb'因为seek 是以bytes来计算的
  print ("文件名为: ", fo.name)
  global start_point #使用全局变量,让start_point 时刻保持在已经输出过的那个字节位
  fo.seek(start_point, 1)#移动文件读取指针到指定位置 
  for line in fo.readlines():
    print ("读取的数据为:" + str(line.decode()))
  #输出后的指针位置赋值给start_piont
  start_point=fo.tell()
  fo.close()

在这里fo = open("heakth_info.log", "rb") 一定要用rb 因为seek是以字节算的。

使用全局变量 让start_point 在运行过后始终保持在最后输出完成的位置。成为下次运行的起点。

fo.tell() 返回的是文件当前的位置,在运行结尾赋值给 start_point

这样只要定时呼出这个 函数 就能获得最新的 log 了。

以上这篇python 读取更新中的log 或其它文本方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入理解Python变量与常量
Jun 02 Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
python绘制多个子图的实例
Jul 07 Python
python实现的自动发送消息功能详解
Aug 15 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
Python %r和%s区别代码实例解析
Apr 03 Python
python进行参数传递的方法
May 12 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
Python软件包安装的三种常见方法
Jul 07 Python
如何基于python操作excel并获取内容
Dec 24 #Python
python实现tail实时查看服务器日志示例
Dec 24 #Python
Python 模拟动态产生字母验证码图片功能
Dec 24 #Python
python中return的返回和执行实例
Dec 24 #Python
Python文件操作函数用法实例详解
Dec 24 #Python
Python的形参和实参使用方式
Dec 24 #Python
python接口自动化如何封装获取常量的类
Dec 24 #Python
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
jsonp原理及使用
2013/10/28 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
决策树的python实现方法
2014/11/18 Python
python基于socket实现网络广播的方法
2015/04/29 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
python数据封装json格式数据
2018/03/04 Python
python构建深度神经网络(DNN)
2018/03/10 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
python交换两个变量的值方法
2019/01/12 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
骨干教师培训感言
2014/01/16 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
加薪申请报告范本
2015/05/15 职场文书
聘任合同书
2015/09/21 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
如何理解及使用Python闭包
2021/06/01 Python
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android