使用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快速查找算法应用实例
Sep 26 Python
python判断windows系统是32位还是64位的方法
May 11 Python
Python使用CMD模块更优雅的运行脚本
May 11 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
python利用lxml读写xml格式的文件
Aug 10 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
python实现数据库跨服务器迁移
Apr 12 Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
PyTorch中的C++扩展实现
Apr 02 Python
Python小白垃圾回收机制入门
Jun 09 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 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文件缓存类示例分享
2015/01/30 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
索趣科技的答案
2007/02/07 Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
python转换摩斯密码示例
2014/02/16 Python
深入解析Python中的变量和赋值运算符
2015/10/12 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
python 自动批量打开网页的示例
2019/02/21 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
keras 权重保存和权重载入方式
2020/05/21 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
化工专业自荐书
2014/06/16 职场文书
超市创意活动方案
2014/08/15 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
微信小程序实现聊天室功能
2021/06/14 Javascript
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技