当前位置: 首页 > news >正文

微网官方网站深圳有名的设计公司

微网官方网站,深圳有名的设计公司,网站建设网页链接,长兴县建设局网站起步 在python中文件监控主要有两个库#xff0c;一个是pyinotify#xff0c;一个是watchdog。pyinotify依赖于Linux平台的inotify#xff0c;后者则对不同平台的的事件都进行了封装。因为我主要用于Windows平台#xff0c;所以下面着重介绍watchdog#xff08;推荐大家阅…起步 在python中文件监控主要有两个库一个是pyinotify一个是watchdog。pyinotify依赖于Linux平台的inotify后者则对不同平台的的事件都进行了封装。因为我主要用于Windows平台所以下面着重介绍watchdog推荐大家阅读一下watchdog实现源码有利于深刻的理解其中的原理。 watchdog在不同的平台使用不同的方法进行文件检测。在init.py中发现了如下注释 |Inotify| Linux 2.6.13 inotify(7) based observer |FSEvents| Mac OS X FSEvents based observer |Kqueue| Mac OS X and BSD with kqueue(2) kqueue(2) based observer |WinApi|(ReadDirectoryChangesW) MS Windows Windows API-based observer |Polling| Any fallback implementation给出示例代码如下 #!/usr/bin/env python # -*- coding:utf-8 -*- # Created by victor# 本模块的功能:检测文件夹变化# 导入watchdog对应模块 from watchdog.observers import Observer from watchdog.events import * # 导入时间模块 import timeclass FileEventHandler(FileSystemEventHandler):# 初始化魔术方法def __init__(self):FileSystemEventHandler.__init__(self)# 文件或文件夹移动def on_moved(self, event):if event.is_directory:print(directory moved from {0} to {1}.format(event.src_path,event.dest_path))else:print(file moved from {0} to {1}.format(event.src_path,event.dest_path))# 创建文件或文件夹def on_created(self, event):if event.is_directory:print(directory created:{0}.format(event.src_path))else:print(file created:{0}.format(event.src_path))# 删除文件或文件夹def on_deleted(self, event):if event.is_directory:print(directory deleted:{0}.format(event.src_path))else:print(file deleted:{0}.format(event.src_path))# 移动文件或文件夹def on_modified(self, event):if event.is_directory:print(directory modified:{0}.format(event.src_path))else:print(file modified:{0}.format(event.src_path))if __name__ __main__:# 实例化Observer对象observer Observer()event_handler FileEventHandler()# 设置监听目录dis_dir e:/observer.schedule(event_handler,dis_dir,True)observer.start()try:while True:# 设置监听频率(间隔周期时间)time.sleep(1)except KeyboardInterrupt:observer.stop()observer.join()小结 watchdog主要采用观察者模型废话从变量命名就可以看出来。主要有三个角色observerevent_handler被监控的文件夹。三者原本是独立的主要通过observer.schedule函数将三者串起来意思为observer不断检测调用平台依赖代码对监控文件夹进行变动检测当发现改变时通知event_handler处理。最后特别推荐读者有时间可以阅读一下watchdog的源码写的易懂而且架构很好用
http://icebutterfly214.com/news/74920/

相关文章:

  • 2025年评价高的三体系认证公司/信息技术服务认证公司服务口碑榜
  • 海淀区离婚律师事务所推荐:专注婚姻家事法律服务机构盘点
  • 2025 第 21 类商标购买平台测评:8 大靠谱平台 标源 / 过户 / 费用全解析
  • AI写论文工具实用测评:五款主流平台功能解析
  • 改善免疫力的灵芝推荐几款 精选口碑品牌解析
  • Ash框架授权绕过漏洞分析:当绕过策略条件评估为真时
  • [1.1.11]Shellcode
  • mysql 迁移 达梦8.4
  • AI元人文:鱼和水的故事
  • 热门Forge库修复签名验证绕过漏洞
  • 函数基础
  • AI浪潮下的机遇与挑战:从技术突破到就业现实
  • 11.19 jdbc
  • P5357 【模板】AC 自动机
  • P1903 【模板】带修莫队 / [国家集训队] 数颜色 / 维护队列
  • 2025-11-28
  • WPF的MVVM模式核心架构与达成细节
  • 2025年12月高压固态软启动柜厂家排行榜,技术创新+24小时售后,工业采购测评推荐
  • Webstorm常用配置
  • U636459 网格
  • WSL 迁移发行版位置
  • 技术分析:越南部分银行 App 不当使用 iOS 私有 API
  • 2025年11月晶振厂家推荐榜单:主流厂商综合对比与选择指南
  • YXC扬兴科技联系方式:产品服务与技术支持相关指南
  • 选择性检索增强代码补全技术解析
  • U636462 无根树
  • 考场备忘录
  • docker 复制远程镜像本地并创建容器
  • 笔记本电脑外接显示器偶尔不亮
  • OOP-实验4 - FF