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中的闭包详细介绍和实例
Nov 21 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
Python迭代和迭代器详解
Nov 10 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
简单谈谈python中的语句和语法
Aug 10 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
python中partial()基础用法说明
Dec 30 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
详解Python3定时器任务代码
Sep 23 Python
python中pyqtgraph知识点总结
Jan 26 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python递归函数定义与用法示例
2017/06/02 Python
kafka-python批量发送数据的实例
2018/12/27 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
pygame实现成语填空游戏
2019/10/29 Python
python适合做数据挖掘吗
2020/06/16 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
大学三年的自我评价
2013/12/25 职场文书
创业培训计划书
2014/05/03 职场文书
教研处工作方案
2014/05/26 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python