watchdog---基于python的文件夹监控框架

说明及介绍

        watchdog是一个用于监控文件系统变化的Python库,可以监控文件或目录的创建、修改、删除等操作。watchdog可以通过监听文件系统事件来实时监控文件或目录的变化,当文件系统中的文件或目录发生变化时,watchdog会触发相应的事件,用户可以编写相应的处理逻辑来处理这些事件。

Watchdog的主要特点包括:

1.跨平台性:Watchdog可以在Windows、MacOS和Linux等操作系统上运行。

2.简单易用:Watchdog提供了简单易用的API,用户可以很容易地编写监控文件系统变化的程序。

3.高效性:Watchdog使用底层操作系统提供的API来监控文件系统变化,具有较高的性能和效率。

4.灵活性:用户可以根据自己的需求定制监控逻辑,例如只监控指定类型的文件变化或者排除某些目录。

        使用Watchdog可以实现一些应用场景,例如自动化测试、实时数据同步、日志监控等。如果您需要实时监控文件系统的变化并做出相应的处理,可以考虑使用Watchdog这个强大的Python库。

环境

python3.6.8

watchdog 0.9.0

 

代码

实现代码如下:

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

class 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()
    event_handler = FileEventHandler()
    observer.schedule(event_handler, "./testFile", True)
    observer.start()
    print('监控当前目录下的文件夹开始:')
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

使用说明 

        将以上代码写好后保存成相应的python文件,在该python文件同目录下新建一个测试文件夹,比如命名为“testFile”,然后运行程式即可。

测试 

向监控的文件夹下面丢入一张测试图像,运行效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzl_18353516147

您的支持是我写作分享最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值