Python 即使删除了目录,被删除事件处理程序上的看门狗也始终将事件标记为文件
我正在用python创建一个看门狗,当我删除一个文件夹时,它会将其记录为文件删除,而不是目录被删除。我已经发布了一个完整的工作从我的代码。我唯一的问题是Python 即使删除了目录,被删除事件处理程序上的看门狗也始终将事件标记为文件,python,filesystemwatcher,watchdog,Python,Filesystemwatcher,Watchdog,我正在用python创建一个看门狗,当我删除一个文件夹时,它会将其记录为文件删除,而不是目录被删除。我已经发布了一个完整的工作从我的代码。我唯一的问题是event.is_directory总是返回false filesystem.py import sys import time import logging import tkinter as tk from tkinter import filedialog from watchdog.observers import Observer
event.is_directory
总是返回false
filesystem.py
import sys
import time
import logging
import tkinter as tk
from tkinter import filedialog
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler, FileSystemEventHandler
class OnMyWatch:
def __init__(self, watch_src, watch_dest):
self.observer = Observer()
self.watch_src = watch_src
self.watch_dest = watch_dest
def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, watch_src, recursive = True)
self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print("Observer Stopped")
self.observer.join()
class Handler(FileSystemEventHandler):
def on_deleted(self, event):
if event.is_directory:
print("Watchdog has registered a deleted directory event")
else:
print("Watchdog has registered a deleted file event")
if __name__ == "__main__":
root = tk.Tk()
root.withdraw()
watch_src = filedialog.askdirectory()
watch_dest = filedialog.askdirectory()
watch = OnMyWatch(watch_src, watch_dest)
watch.run()