Я все еще учусь Python, поэтому я прошу прощения заранее. Я пытаюсь написать наблюдателя, который следит за созданием файла, который соответствует указанному шаблону c. Я использую сторожевой таймер с некоторым кодом, который используется для просмотра каталога.
Я не совсем понимаю, как заставить наблюдателя наблюдать за именем файла, которое соответствует шаблону. Я отредактировал поле regexes=[]
так, как мне кажется, может сработать, но мне не повезло.
Вот пример файла, который может прийти: Hires For Monthly TM_06Jan_0946.CSV
I может заставить наблюдателя сказать мне, когда в каталоге создается .CSV, я просто не могу заставить его сказать мне только, когда создается по существу Hires.*\.zip
.
Я проверил эту ссылку, но не повезло Как правильно запустить RegexMatchingEventHandler of Watchdog?
Вот мой код:
import time
import watchdog.events
from watchdog.observers import Observer
from watchdog.events import RegexMatchingEventHandler
import re
import watchdog.observers
import time
import fnmatch
import os
class Handler(watchdog.events.RegexMatchingEventHandler):
def __init__(self):
watchdog.events.RegexMatchingEventHandler.__init__(self, regexes=['.*'], ignore_regexes=[], ignore_directories=False, case_sensitive=False)
def on_created(self, event):
print("Watchdog received created event - % s." % event.src_path)
def on_modified(self, event):
print("Watchdog received modified event - % s." % event.src_path)
if __name__ == "__main__":
src_path = r"C:\Users\Downloads"
event_handler = Handler()
observer = watchdog.observers.Observer()
observer.schedule(event_handler, path=src_path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join() ```