Python Watchdog - Как просматривать только при создании файлов? - PullRequest
0 голосов
/ 31 января 2019

С помощью Watchdog Quickstart я могу видеть все события, такие как изменение папки, удаление файла, создание файла и т. Д. Однако я хочу видеть только, когда файл был создан,Что мне нужно изменить, чтобы видеть только созданные файлы?

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, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Вам необходимо создать собственный класс обработчика событий на основе FileSystemEventHandler.Вы должны переопределить метод on_created для обработки события при получении.

0 голосов
/ 31 января 2019

Возможно, вы захотите взглянуть на watchdog.events LoggingEventHandler.Ничто в прикрепленном вами коде не имеет ничего общего с отслеживанием определенных действий файловой системы, кроме запуска модуля LoggingEventHandler, который, как я могу предположить, обрабатывает все события файловой системы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...