Как передать аргумент моему watchdog.events.PatternMatchingEventHandler в PythonPython

Программы на Python
Ответить
Гость
 Как передать аргумент моему watchdog.events.PatternMatchingEventHandler в Python

Сообщение Гость »


Я новичок в Python и надеюсь, что ответ на этот вопрос очевиден для большинства из вас.

Я создаю класс в Python, который представляет ScanFolder.

В __init__ этого класса я запускаю watchdog.observers

Этот наблюдатель будет запускать watchdog.events.PatternMatchingEventHandler при каждом изменении файла в отслеживаемом каталоге.

#!/usr/bin/env python3 # -*- кодировка: utf-8 -*- импортировать систему время импорта из watchdog.observers импорт наблюдателя импортировать watchdog.events путь = sys.argv[1], если len(sys.argv) > 1, иначе '.' класс MyEventHandler(watchdog.events.PatternMatchingEventHandler): def on_any_event(сам, событие): print(event.src_path, event.event_type) класс СканФолдер: «Класс, определяющий папку сканирования» def __init__(я, путь): self.path = путь self.documents = dict() # ключ = значение метки документа = ссылка на документ self.event_handler = MyEventHandler(patterns=["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.pdf"], ignore_patterns=[], ignore_directories=Истина) self.observer = Наблюдатель() self.observer.schedule(self.event_handler, self.path, recursive=False) self.observer.start() защита остановки (сам): self.observer.stop() self.observer.join() папка_сканирования = Папка сканирования(путь) пытаться: пока правда: время.сон(1) """Здесь я буду действовать с моим объектом scan_folder, в котором перечислены обнаруженные файлы""" кроме KeyboardInterrupt: log.warning("Ой !!! Получено прерывание клавиатуры.") scan_folder.stop() Моя проблема заключается в следующем:

Как я могу изменить мой объект scan_folder с помощью scan_folder.event_handler()?

На самом деле я хотел бы заполнить словарь scan_folder.documents везде, где в папке сканирования обнаружен файл.

Большое спасибо и извините за мое невежество.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»