gorakhargosh/watchdog

No file system events observed when not using recursive mode

Open

#918 aperta il 16 set 2022

Vedi su GitHub
 (5 commenti) (1 reazione) (0 assegnatari)Python (684 fork)batch import
Good first issueHelp welcome :)fsevents

Metriche repository

Star
 (6090 star)
Metriche merge PR
 (Merge medio 25m) (1 PR mergiata in 30 g)

Descrizione

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.

Guida contributor