使用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基于右递归解决八皇后问题的方法
May 25 Python
python非递归全排列实现方法
Apr 10 Python
Python 通过URL打开图片实例详解
Jun 01 Python
python数据类型判断type与isinstance的区别实例解析
Oct 31 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
python ftplib模块使用代码实例
Dec 31 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
通过cmd进入python的步骤
Jun 16 Python
基于Python实现对比Exce的工具
Apr 07 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
Terran剧情介绍
2020/03/14 星际争霸
PHP新手上路(五)
2006/10/09 PHP
MySQL授权问题总结
2007/05/06 PHP
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python3 字符串知识点学习笔记
2020/02/08 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
Weblogic的布署方式
2013/08/23 面试题
最新计算机专业自荐信
2013/10/16 职场文书
六一儿童节标语
2014/10/08 职场文书
网络销售员岗位职责
2015/04/11 职场文书
十八大观后感
2015/06/12 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书