gorakhargosh/watchdog

No file system events observed when not using recursive mode

Open

#918 opened on Sep 16, 2022

View on GitHub
 (5 comments) (1 reaction) (0 assignees)Python (684 forks)batch import
Good first issueHelp welcome :)fsevents

Repository metrics

Stars
 (6,090 stars)
PR merge metrics
 (Avg merge 25m) (1 merged PR in 30d)

Description

We tried to listen for events on a single file, without the need for watching recursively. However without specifying recursive=True, no events were observed.

Platform: macOS 12.6 & Ubuntu 18.04 Python: 3.9.14

Code to reproduce:

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)
    observer.start()
    try:
        while True:
            time.sleep(1)
    finally:
        observer.stop()
        observer.join()

and launching with: python file.py <path to single file>.

Also using the FSEventsObserver on macOS didn't change the outcome. Only specifying recursive=True did.

Contributor guide