使用Python监控文件内容变化代码实例


Posted in Python onJune 04, 2018

利用seek监控文件内容,并打印出变化内容:

#/usr/bin/env python
#-*- coding=utf-8 -*-
 
pos = 0
while True:
  con = open("a.txt")
  if pos != 0:
    con.seek(pos,0)
  while True:
  line = con.readline()
  if line.strip():
    print line.strip()
  pos = pos + len(line)
  if not line.strip():
    break
  con.close()

利用工具pyinotify监控文件内容变化,当文件逐渐变大时,可轻松完成任务:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
import os
import datetime
import pyinotify
import logging
 
pos = 0
def printlog():
  global pos
  try:
    fd = open("log/a.txt")
  if pos != 0:
    fd.seek(pos,0)
  while True:
    line = fd.readline()
    if line.strip():
      print line.strip()
    pos = pos + len(line)
    if not line.strip():
    break
  fd.close()
  except Exception,e:
  print str(e)
 
class MyEventHandler(pyinotify.ProcessEvent):
  def process_IN_MODIFY(self,event):
    try:
    printlog()
  except Exception,e:
    print str(e)
 
def main():
  printlog()
  wm = pyinotify.WatchManager()
  wm.add_watch("log/a.txt",pyinotify.ALL_EVENTS,rec=True)
  eh = MyEventHandler()
  notifier = pyinotify.Notifier(wm,eh)
  notifier.loop()
if __name__ == "__main__":
  main()
Python 相关文章推荐
Python中的CURL PycURL使用例子
Jun 01 Python
Python多线程和队列操作实例
Jun 21 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
Win8下python3.5.1安装教程
Jul 29 Python
python函数与方法的区别总结
Jun 23 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
pytorch中的transforms模块实例详解
Dec 31 Python
Python函数式编程实例详解
Jan 17 Python
Python2与Python3的区别详解
Feb 09 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
Python操作mongodb的9个步骤
Jun 04 #Python
Python中property函数用法实例分析
Jun 04 #Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 #Python
python最长回文串算法
Jun 04 #Python
python中字符串的操作方法大全
Jun 03 #Python
Python Logging 日志记录入门学习
Jun 02 #Python
python实现寻找最长回文子序列的方法
Jun 02 #Python
You might like
PHP中的extract的作用分析
2008/04/09 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python实现屏保计时器的示例代码
2018/08/08 Python
python事件驱动event实现详解
2018/11/21 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
带薪年假请假条
2014/02/04 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
国庆节标语大全
2014/10/08 职场文书
入党转正介绍人意见
2015/06/03 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android