Skript automatisch starten wenn neue .xml-Datei im Ordner ist (Windows 10)

SIa

Neues Mitglied
Hallo liebe devs,
Ich hab ein kleines Script geschrieben welches wichtige Informationen aus einer .xml Datei rausfiltert und diese in einer GUI ausgibt , für meine Maschinenbauer Kollegen. Jetzt soll das Script immer dann automatisch starten wenn eine neue .xml Datei im Ordner ist. Ich sitze schon jetzt 2 Tage dran und finde keine Lösungen für Windows10. Grob gesagt hab ich gar kein Plan wie ich jetzt vorgehen muss.

ps: Erste Woche als dev , hatte im Studium auch kein python nur c , c++ und java
 
Das Skript oder ein anderes Programm muss die ganze Zeit im Hintergrund laufen und den Ordner überwachen. Außerdem muss es sich merken, welche Datei schon geöffnet wurde.

Da es jedes Mal eine GUI öffnen soll, gehe ich mal davon aus, dass das Skript sowieso läuft, wenn der User aktiv damit arbeitet. Am einfachsten wäre es also, wenn du einen Editor offen hast, der die Ordnerüberwachung übernimmt und das Skript dann bei Bedarf ausführt. Wenn es nur Python sein soll, wäre eine Library am besten.

Solltest aber überlegen, ob du wirklich einen Filewatcher brauchst oder bei deiner verwendeten GUI Drag&Drop implementiert werden kann. Wäre vielleicht angenehmer zu bedienen.
 
Hiermit -> Info
Hab unten noch die 4 Zeilen hinzugefügt und es klappt , muss nur sehen ob ich grade irgendwelche fehler übersehe
Python:
import TestGui
import os, time

path_to_watch = "......"
before = dict([(f, None) for f in os.listdir(path_to_watch)])
while 1:
    time.sleep(10)
    after = dict([(f, None) for f in os.listdir(path_to_watch)])
    added = [f for f in after if not f in before]
    removed = [f for f in before if not f in after]
    if added:
        print("Added: ", ", ".join(added))
    if removed:
        print("Removed: ", ", ".join(removed))
    if len(added) > 0:
        if ".xml" in added[-1]:
            print("i´m in")
            TestGui.start(added)
            before = dict([(f, None) for f in os.listdir(path_to_watch)])
 
Ohne Python zu kennen, bin ich ganz stark davon ausgehen, dass es dort auch File System Event Listener gibt. Kurz Google angeworfen: watchdog. Schau dir das einfach mal an...
 
Zurück
Oben Unten