Python pyinotify模块实现对文档的实时监控功能方法

yipeiwu_com7年前Python基础

0x01 安装pyinotify

>>> pip install pyinotify
>>> import pyinotify

0x02 实现对文档的试试监控功能

这个功能类似与Ubuntu里的rail -f功能,在对目标文件进行修改时,脚本可以实时监控并将新的修改打印出来。

import pyinotify
import time
import os

class ProcessTransientFile(pyinotify.ProcessEvent):
  def process_IN_MODIFY(self, event):
    line = file.readline()
    if line:
      print line, # already has newline

filename = './test.txt'
file = open(filename,'r')
#Find the size of the file and move to the end
st_results = os.stat(filename)
st_size = st_results[6]
file.seek(st_size)

wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm)
wm.watch_transient_file(filename, pyinotify.IN_MODIFY, ProcessTransientFile)

notifier.loop()

以上这篇Python pyinotify模块实现对文档的实时监控功能方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python2实现的图片文本识别功能详解

Python2实现的图片文本识别功能详解

本文实例讲述了Python2实现的图片文本识别功能。分享给大家供大家参考,具体如下: 这里需要用到python的几个库,分别是pytesser,以及pytesser的依赖库PIL。pyt...

python numpy 一维数组转变为多维数组的实例

python numpy 一维数组转变为多维数组的实例

如下所示: import numpy new_list = [i for i in range(9)] numpy.array(new_list).reshape(3,3) 借助n...

python+unittest+requests实现接口自动化的方法

python+unittest+requests实现接口自动化的方法

前言: Requests简介 Requests 是使用Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。 Python 标准库中的 ur...

Python列表推导式与生成器表达式用法示例

本文实例讲述了Python列表推导式与生成器表达式用法。分享给大家供大家参考,具体如下: 和列表一样,列表推导式也采用方括号[]表示,并且用到了一个简写版的for循环,第一部分是一个生成...

python性能测量工具cProfile使用解析

背景: Python是一种解释性的语言,执行速度相比C、C++等语言十分缓慢;因此我们需要在其它地方上下功夫来提高代码的执行速度。 首先需要对代码进行分析,这个时候则需要用一些工具。...