Невозможно отслеживать расположение сетевого хранилища (ПУТЬ СЕТИ), используя Python Библиотека Watch Dog в Windows Server 2012R2 - PullRequest
1 голос
/ 31 марта 2020

Когда я использую приведенный ниже код для мониторинга любого хранилища на том же сервере, он работает отлично. Принимая во внимание, что, когда я пытаюсь использовать то же самое с сетевым диском (уже привязанным к моей машине), это не работает. Пожалуйста, посмотрите на код и предложите, как действовать. Пожалуйста, дайте мне знать, могу ли я использовать любую другую библиотеку или другую технологию для достижения цели. В настоящее время я использую Python Watchdog Library.

import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
from watchdog.observers.polling import PollingObserver

import os
import hashlib
import shutil,time

if __name__ == "__main__":
    patterns = "*"
    ignore_patterns = ""
    ignore_directories = False
    case_sensitive = True
    my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive)

def on_created(event):
    print(f"hey, {event.src_path} has been created!")

def on_deleted(event):
    print(f"Someone deleted {event.src_path}!")

def on_modified(event):
    print(f"{event.src_path} has been modified")

def on_moved(event):
    print(f"someone moved {event.src_path} to {event.dest_path}")

my_event_handler.on_created = on_created
my_event_handler.on_deleted = on_deleted
my_event_handler.on_modified = on_modified
my_event_handler.on_moved = on_moved   

path = "\\\\apc.ent.petap.net\\dfs\\Resource\\ABS\\ARCHIVE\\" ##This is my shared drive, I also tried #mapping it to the system, but the same thing I am getting. No error, but no response.
go_recursively = True
#my_observer = Observer()
my_observer = PollingObserver()
my_observer.schedule(my_event_handler, path, recursive=go_recursively)

my_observer.start()
try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    my_observer.stop()
    my_observer.join()

...