实时监控第三方库watchdog,其原理通过操作系统的时间触发的,不需要循环和等待
使用场景:
- 监控文件系统中文件或目录的增删改情况
- 当特定的文件被创建,删除,修改,移动时执行相应的任务
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

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

被折叠的 条评论
为什么被折叠?



