使用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 FTP操作类代码分享
May 13 Python
python中常用的各种数据库操作模块和连接实例
May 29 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
Python 基础教程之包和类的用法
Feb 23 Python
使用Python & Flask 实现RESTful Web API的实例
Sep 19 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python实现复制大量文件功能
Aug 31 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python递归函数特点及原理解析
Mar 04 Python
Python编写单元测试代码实例
Sep 10 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学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
js中判断控件是否存在
2010/08/25 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
用Python编写web API的教程
2015/04/30 Python
Python代码实现KNN算法
2017/12/20 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
生物技术研究生自荐信
2013/11/12 职场文书
人力资源主管职责范本
2014/03/05 职场文书
有趣的广告词
2014/03/18 职场文书
违反交通法规检讨书
2014/09/10 职场文书
十七岁的单车观后感
2015/06/12 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python