I need to monitor (using watchdog) a single file, not a whole directory.
What is the best way to avoid monitoring a whole directory? I suppose this
class watchdog.events.PatternMatchingEventHandler(patterns=None, ignore_patterns=None, ignore_directories=False, case_sensitive=False)[source]
could be helpful, but how to define an appropriate pattern for my file (C:/dir1/dir2/file.txt)?
If you want to watch a file path like C:/dict1/dict2/file.txt, I think that's your pattern right there.  There are no wildcards in, so it should be usable as-is.
As an aside, if Watchdog is giving you trouble, you could also consider Pyinotify: https://github.com/seb-m/pyinotify
The way to provide patterns for PatternMatchingEventHandler is
 from watchdog.events import PatternMatchingEventHandler
 class MyHandler(PatternMatchingEventHandler):
     patterns = ["*.xml", "*.log", "*/test.txt"] # */test.txt to watch that specifi file
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With