使用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实现目录树生成示例
Mar 28 Python
Python import自定义模块方法
Feb 12 Python
Python的函数的一些高阶特性
Apr 27 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
Python开发的实用计算器完整实例
May 10 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
python元组拆包实现方法
Feb 28 Python
Python OpenCV实现图形检测示例详解
Apr 08 Python
python库Tsmoothie模块数据平滑化异常点抓取
Jun 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 面向对象详解
2012/09/13 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python配置文件处理的方法教程
2019/08/29 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
新浪网技术部笔试题
2016/08/26 面试题
优秀三好学生事迹材料
2014/08/31 职场文书
会计人员演讲稿
2014/09/11 职场文书
对照检查剖析材料
2014/09/30 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
个人思想政治总结
2015/03/05 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python