Python Watchdog 实行对文件或目录的监控

xiaoxiao2021-02-28  100

watchdog 库支持多平台,受到越来越多的关注。顾名思义,watchdog库就是对文件或者目录(event)来监控以及作出反应。我们对文件作出删除,生成,修改和移动时,event就代表你所做的行为传入到FileSystemEvent类进行处理,然后通过FileSystemEventHandler来作出反应。

FileSystemEvent(event)—>FileSystemEventHandler(event) 即:

watchdog.event.Dir/FileDeletedEvent(event)**—>**self.on_deleted(event)watchdog.event.Dir/FileCreatedEvent(event)**—>**self.on_created(event)watchdog.event.Dir/FileModifiedEvent(event)**—>**self.on_modified(event)watchdog.event.Dir/FileMovedEvent(event)**—>**self.on_moved(event)

以上这些监控和改变均是通过watchdog.observers.Observer()来实现的。

以下为官方实例:

import sys import time import logging from watchdog.observers import Observer from watchdog.events import LoggingEventHandler if __name__ == "__main__": logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S') path = sys.argv[1] if len(sys.argv) > 1 else '.' event_handler = LoggingEventHandler() observer = Observer() observer.schedule(event_handler, path, recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()
转载请注明原文地址: https://www.6miu.com/read-65017.html

最新回复(0)