python3的第三方模块-watchdog文件系统监控的使用(python3经典编程案例)

Posted cui_yonghua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3的第三方模块-watchdog文件系统监控的使用(python3经典编程案例)相关的知识,希望对你有一定的参考价值。

原理是通过操作系统的时间触发的,不需要循环,也不需要等待。

如监控test文件夹下的动态:

from watchdog.observers import Observer
from watchdog.events import *
import time


class FileEventHandler(FileSystemEventHandler):

    def __init__(self):
        FileSystemEventHandler.__init__(self)

    def on_moved(self, event):
        super(FileEventHandler, self).on_moved(event)
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        if event.is_directory:
            print(f" now  文件夹由  event.src_path  移动至  event.dest_path ")
        else:
            print(f" now  文件由  event.src_path  移动至  event.dest_path ")

    def on_created(self, event):
        super(FileEventHandler, self).on_created(event)
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        if event.is_directory:
            print(f" now  文件夹  event.src_path  创建")
        else:
            print(f" now  文件  event.src_path  创建")

    def on_deleted(self, event):
        super(FileEventHandler, self).on_deleted(event)
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        if event.is_directory:
            print(f" now  文件夹  event.src_path  删除")
        else:
            print(f" now  文件  event.src_path  删除")

    def on_modified(self, event):
        super(FileEventHandler, self).on_modified(event)
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        if event.is_directory:
            print(f" now  文件夹  event.src_path  修改")
        else:
            print(f" now  文件  event.src_path  修改")


if __name__ == "__main__":
    observer = Observer()
    path = r"test/"
    event_handler = FileEventHandler()
    observer.schedule(event_handler, path, True)
    print(f"监控目录 path")
    observer.start()
    observer.join()

以上是关于python3的第三方模块-watchdog文件系统监控的使用(python3经典编程案例)的主要内容,如果未能解决你的问题,请参考以下文章

WatchDog 使用经验总结

python 监目录文件变动,然后在做些其它的操作,watchdog 详细解答

python的文件监控watchdog

基础入门_Python-模块和包.运维开发中watchdog事件监视的最佳实践?

python3离线安装第三方模块及其依赖包

(10)-Python3之--引入