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设计】。

相关文章

Python中基本的日期时间处理的学习教程

Python中基本的日期时间处理的学习教程

Python程序能用很多方式处理日期和时间。转换日期格式是一个常见的例行琐事。Python有一个 time 和 calendar 模组可以帮忙。 什么是Tick? 时间间隔是以秒为单位的...

用pywin32实现windows模拟鼠标及键盘动作

因为要批量用某软件处理一批eps文件,所以要模拟鼠标及键盘动作,使其能够自动化操作。 复制代码 代码如下:#-*-coding:utf-8-*-import osimport timei...

pytorch动态网络以及权重共享实例

pytorch 动态网络+权值共享 pytorch以动态图著称,下面以一个栗子来实现动态网络和权值共享技术: # -*- coding: utf-8 -*- import rando...

np.random.seed() 的使用详解

np.random.seed() 的使用详解

在学习人工智能时,大量的使用了np.random.seed(),利用随机数种子,使得每次生成的随机数相同。 我们带着2个问题来进行下列实验 np.random.seed()是否一直...

在RedHat系Linux上部署Python的Celery框架的教程

在RedHat系Linux上部署Python的Celery框架的教程

 Celery (芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 架构设计  Celery的架构由...