Ich habe erfolgreich die Python-Bindungen zu io_add_watch
in meinem dbus Hauptschleife verwendet, um auf Änderungen in einer bekannten einzelnen Datei zu reagieren. Aber ich habe jetzt einen Fall, in dem ich einen dbus-Haupt-Loop betreibe, und ich muss arbeiten, wenn sich ein Verzeichnis ändert.Python-dbus-Methode zum Ansehen einer Verzeichnisänderung?
Ich habe mit dem Befehlszeilentool inotifywait -m directory
gespielt, sowie mit einigen der mit pyinotify mitgelieferten Beispielen gespielt. Was unklar ist, ist, wie ich die beiden zusammenfüge. Oder wenn ich es sollte. I könnte starten Sie einfach einen Thread, der eine Leitung verwendet, um inotifywait
direkt ausführen, und schreiben Sie dann in eine RAM-Datei in /run
, die ich eine io_add_watch
eingerichtet hatte. Ich bin relativ neu bei glib/dbus/mainloop, also ist es immer noch eine Art Magie für mich. scheint etwas schwer für meine Zwecke, aber ich arbeite aus keiner Erfahrung hier.
Ich bin auf Debian Jessie laufen, mit Python3. Ich suche nichts über Plattform.
notifier = pyinotify.Notifier(wm, handler)
wm.add_watch('/tmp', pyinotify.IN_CREATE)
notifier.loop()
Der vollständige Tutorial ist hier:
Dies war nominell hilfreich, und ich fand es schließlich heraus, siehe die Antwort, die ich hinzufügte. Ich wünschte, es wäre eher so gewesen, aber Sie bekommen die Credits, um mich in die richtige Richtung zu bringen. –