python watchdog_watchdog监控文件变化使用总结——转载

本文介绍了Python中的Watchdog模块,用于跨平台监控文件系统变化。通过FileSystemEventHandler处理各种文件事件,如创建、删除、移动和修改,并提供了一种改进方案,通过定时器和文件夹快照来减少冗余事件,提高处理效率。
摘要由CSDN通过智能技术生成

概述

首先声明,本文讨论的 watchdog,不是单片机里的 watchdog,也不是 linux 中的 watchdog,而是 python 世界里用来监视文件系统变化的一个第三方模块。在 python 中文件监视主要有两个库,一个是 pyinotify,一个是 watchdog。pyinotify 依赖于 linux 平台的 inotify 机制,只能应用在 linux 平台上。watchdog 则对不同平台的的事件都进行了封装,不仅可以监视 windows 文件系统,也可以监视 linux 的文件系统。

文件系统事件类

文件系统事件基类定义如下:

watchdog.events.FileSystemEvent(event_type, src_path, is_directory=False)

# event.event_type- 事件类型,为 moved / deleted / created / modified 其中之一

# event.src_path- 触发该事件的文件或目录路径

# event.is_directory- 该事件是否由一个目录触发

由 watchdog.events.FileSystemEvent 基类派生的子类如下:

watchdog.events.FileDeletedEvent()

# 文件被删除时触发该事件

watchdog.events.DirDeletedEvent()

# 目录被删除时触发该事件

watchdog.events.FileCreatedEvent()

# 文件被创建时触发该事件

watchdog.events.DirCreatedEvent()

# 目录被创建时触发该事件

watchdog.events.FileModifiedEvent()

# 文件被修改时触发该事件(修改文件内容、修改文件inode信息如权限和访问时间,都会触发该事件)

watchdog.events.DirModifiedEvent()

# 目录被修改时触发该事件

watchdog.events.FileMovedEvent()

# 文件被移动或重命名时触发该事件,因为涉及文件移动,所以除了event.src_path表示原路径,还有event.dest_path表示目的路径

watchdog.events.DirMovedEvent()

# 目录被移动或重命名时触发该事件,因为涉及文件移动,所以除了event.src_path表示原路径,还有event.dest_path表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值