1import logging 2import sys 3import time 4 5from watchdog.events import FileSystemEvent, PatternMatchingEventHandler 6from watchdog.observers import Observer 7 8logging.basicConfig(level=logging.DEBUG) 9 10 11class MyEventHandler(PatternMatchingEventHandler): 12 def on_any_event(self, event: FileSystemEvent) -> None: 13 logging.debug(event) 14 15 16event_handler = MyEventHandler(patterns=["*.py", "*.pyc"], ignore_patterns=["version.py"], ignore_directories=True) 17observer = Observer() 18observer.schedule(event_handler, sys.argv[1], recursive=True) 19observer.start() 20try: 21 while True: 22 time.sleep(1) 23finally: 24 observer.stop() 25 observer.join() 26