使用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上基于Markov链生成伪随机文本的教程
Apr 17 Python
python 查找字符串是否存在实例详解
Jan 20 Python
Python 专题三 字符串的基础知识
Mar 19 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
Sanic框架路由用法实例分析
Jul 16 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
python机器人运动范围问题的解答
Apr 29 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 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 cookie 登录验证示例代码
2009/03/16 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
sae使用smarty模板的方法
2013/12/17 PHP
php实现telnet功能示例
2014/04/08 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
详解React 元素渲染
2020/07/07 Javascript
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Python探索之创建二叉树
2017/10/25 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
后勤人员自我评价怎么写
2013/09/19 职场文书
英语感恩演讲稿
2014/01/14 职场文书
工作评语大全
2014/04/26 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书