Aber wenn ich den Pfad zurück zum Verzeichnis im Netzlaufwerk ändere und der Zeitplan recursion=True hat, werden keine Ereignisse im Verzeichnis oder Unterverzeichnis ausgelöst. Wenn recursion=False, werden Ereignisse nur im geplanten Verzeichnis ausgelöst.
Das Endziel besteht darin, das Netzlaufwerk ständig zu überwachen und jedes Mal, wenn eine neue Datei in ein Unterverzeichnis des überwachten Verzeichnisses hochgeladen wird, wird die Datei per FTP an das entsprechende Verzeichnis eines anderen Laufwerks gesendet. Bitte lassen Sie mich wissen, wenn ich ein Problem mit Watchdog übersehe oder wenn es einen besseren Weg gibt, mein Ziel zu erreichen.
Code: Select all
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()
Mobile version