Überprüfen Sie, ob mehrere Ausgangsordner neu sind, und überwachen Sie siePython

Python-Programme
Guest
 Überprüfen Sie, ob mehrere Ausgangsordner neu sind, und überwachen Sie sie

Post by Guest »

Ich habe ein Skript1.py, um Videos nacheinander zu verarbeiten
Der Extrakt wird in einem Ordner gespeichert. Br />

Code: Select all

Output_Videos\namevideo1_Output
< /code>
und zweites Skript -Überwachung.py Beim Ausführen von IT überwacht die folgenden Ordner: < /p>
Monitoring.py - Überwachung < /p>
Output_Videos\namevideo1_Output\Images
Output_Videos\namevideo1_Output\Text
< /code>
, aber wenn script1.py das zweite Video automatisch verarbeitet < /p>
Output_Videos\namevideo1_Output - is complete
Output_Videos\namevideo2_Output
< /code>
Skript -Überwachung.py stoppt die Überwachung
, denn wenn es erstmals ausgeführt wurde, wurde "Überwachung". Führen Sie das Skript "machung.py" einmal aus und prüft wiederholt, wenn neue Ordner Ausgabe_videos und Überwachung < /p>
Beispiel < /p>
Output_Videos\namevideo1_Output\Images
Output_Videos\namevideo1_Output\Text
Output_Videos\namevideo2_Output\Images
Output_Videos\namevideo2_Output\Text
Output_Videos\namevideo3_Output\Images
Output_Videos\namevideo3_Output\Text
...
< /code>
 monitoring.py
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from glob import glob

class EventHandler(FileSystemEventHandler):

def __init__(self, text):
self.text = text

def on_created(self, event):
action, path = (event.event_type, event.src_path)
print(self.text.format(path))

def monitor_directories(data):
observer = Observer()
for directory, text in data:
event_handler = EventHandler(text)
observer.schedule(event_handler, directory, recursive=True)
observer.start()
observer = PollingObserver()

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

if __name__ == "__main__":
print("Crop sub area\n")
data = [
# always select a dir path (if using glob, be careful, it returns list), then custom text with {} in it that will become path
[glob("Output_Videos/*/Images")[0], " Crop images [Images] : {} Done"],
[glob("Output_Videos/*/Text")[0], " Crop images [Text] : {} Done"]
]
monitor_directories(data)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post