实现python的文件监控watchdog

本文介绍了如何使用Python的watchdog库实现文件系统的实时监控。watchdog库基于操作系统的事件触发,避免了循环检查的需要。它可以监控文件或目录的增删改情况,并在发生这些变化时执行相应任务。在实际应用中,可能会遇到`OSError: inotify watch limit reached`错误,这表明已达到inotify的监控限制。解决方法包括临时提升限制和永久修改系统配置。

实时监控第三方库watchdog,其原理通过操作系统的时间触发的,不需要循环和等待

使用场景:

  1. 监控文件系统中文件或目录的增删改情况
  2. 当特定的文件被创建,删除,修改,移动时执行相应的任务

1.安装

pip install watchdog

示例:

import re
import os
import logging
from watchdog.events import FileSystemEventHandler
from watchdog.observers import Observer

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

LUA_FILE_NAME = 'version_info.lua'  #Lua版本文件
WHITELIST_FILE_NAME = 'whitelist.txt'  # 白名单文件

class FileMonitorHandler(FileSystemEventHandler):
    def __init__(self, **kwargs):
        super(FileMonitorHandler, self).__init__(**kwargs)
        # 监控目录 目录下面以device_id为目录存放各自的图片
        self._watch_path = game_path

    # 重写文件改变函数,文件改变都会触发文件夹变化
    def on_modified(self, event):
        if not event.is_directory:  # 文件改变都会触发文件夹变化
            file_path = event
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值