使用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连接mysql调用存储过程示例
Mar 05 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
Django model序列化为json的方法示例
Oct 16 Python
浅析python参数的知识点
Dec 10 Python
python将list转为matrix的方法
Dec 12 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
python 魔法函数实例及解析
Sep 25 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
使用Pytorch搭建模型的步骤
Nov 16 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模板之Phpbean的目录结构
2008/01/10 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
react-router实现按需加载
2017/05/09 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
python实现批量监控网站
2016/09/09 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
外贸员简历中的自我评价
2014/03/04 职场文书
初中生评语大全
2014/04/24 职场文书
总经理人事任命书
2014/06/05 职场文书
好听的队名和口号
2014/06/09 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
大班下学期个人总结
2015/02/13 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
JavaScript实现队列结构过程
2021/12/06 Javascript