Below we present a simple example that monitors the current directory non-recursively (which means, it will not traverse any sub-directories) to detect changes. Here is what we will do with the API:
By default, an watchdog.observers.Observer instance will not monitor sub-directories. You can set recursive=True in the call to watchdog.observers.Observer.schedule() to ensure monitoring entire directory trees.
The following example program will monitor the current directory recursively for file system changes and simply log them to the console:
import time from watchdog.observers import Observer from watchdog.events import LoggingEventHandler if __name__ == "__main__": 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()
To stop the program, press Control-C.