Я использую этот код для отслеживания создания новых файлов в каталоге на моем сетевом диске и возникновения проблем. Когда я тестирую тот же код в каталоге на локальном диске, проблем не возникает. Когда в каталоге создается новый файл, он вызывает событие и отправляет сообщение на консоль. Если файл создается в его подкаталоге, он также запускает событие и отправляет сообщение.
Но когда я меняю путь обратно к каталогу на сетевом диске, если в расписании есть recursion=True, то никакие события не запускаются в каталоге или подкаталоге, если события recursion=False запускаются только в запланированном каталоге.
Конечная цель — постоянно контролировать сетевой диск, и каждый раз, когда новый файл загружается в подкаталог просматриваемого каталога, он отправляет файл в соответствующий каталог другого диска через ФТП. Пожалуйста, дайте мне знать, есть ли какая-то проблема, которую я упускаю при использовании Watchdog, или есть ли лучший способ достичь моей цели.
import sys
from time import sleep
from watchdog.events import FileSystemEventHandler
from watchdog.observers.polling import PollingObserver
from pathlib import Path
class MyEventHandler(FileSystemEventHandler):
def on_created(self, event):
path1=Path(event.src_path)
parpath=path1.parent
print("New file created in " + str(parpath))
return super().on_created(event)
if __name__ == "__main__":
path = /network/drive
event_handler = MyEventHandler()
observer = PollingObserver()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Подробнее здесь: https://stackoverflow.com/questions/708 ... dog-module
Мониторинг подкаталогов на сетевом диске с помощью модуля Python Watchdog ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Мониторинг подкаталогов на сетевом диске с помощью модуля Python Watchdog
Anonymous » » в форуме Python - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Создайте папку в сетевом диске с System.io.directory.createdirectory [Duplicate]
Anonymous » » в форуме C# - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-