使用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 相关文章推荐
python3生成随机数实例
Oct 20 Python
使用Python & Flask 实现RESTful Web API的实例
Sep 19 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
python实战教程之自动扫雷
Jul 13 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
python函数定义和调用过程详解
Feb 09 Python
python微信公众号开发简单流程实现
Mar 09 Python
Python3批量创建Crowd用户并分配组
May 20 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 Python
Python如何加载模型并查看网络
Jul 15 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 array_unique之后json_encode需要注意
2011/01/02 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python入门篇之列表和元组
2014/10/17 Python
python对json的相关操作实例详解
2017/01/04 Python
python对日志进行处理的实例代码
2018/10/06 Python
python字符串循环左移
2019/03/08 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
python如何调用php文件中的函数详解
2020/12/29 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
留学推荐信中文范文三篇
2014/01/25 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
活动总结怎么写啊
2014/05/07 职场文书
企业党员一句话承诺
2014/05/30 职场文书
收款授权委托书
2014/10/02 职场文书
交通事故协议书范本
2014/11/18 职场文书
2014年保育员工作总结
2014/12/02 职场文书
解除租房协议书
2014/12/03 职场文书
小学生家长意见
2015/06/03 职场文书
爱国电影观后感
2015/06/19 职场文书