dopbox.uploader list daten verarbeiten

  • Nach Einrichtung einer Raspberr Pi Kamera, die mit mmal-motion Videos (.avi)
    bei Bewegungserkennung aufzeichnet und nach Dropbox kopiert scheiter ich
    an der Löschung alter Videos per Python Programm.
    Setting up Wireless motion-detect cam | rbnrpi
    Simple Home Security with Raspberry Pi and DropBox | mogshade

    Hier einige Infos zum Dropbox-Uploader https://github.com/andreafabrizi/Dropbox-Uploader
    cd Dropbox-Uploader
    ./dropbox_uploader.sh list Liste alle Dateien im Dropbox-Verzeichnis
    > Listing "/"... DONE
    [F] 827428 01-20140828094537.avi
    [F] 1048954 01-20140829082343.avi
    [F] 165376 01-20140830074837.avi
    [F] 108602 01-20140831135927.avi
    [F] 105682 01-20140901085922.avi
    .
    .
    ./dropbox_uploader.sh delete 01-20140828094537.avi Delete eine .avi Datei

    Ich kann mir auch diese Liste per Python in eine Variable stellen, weiß dann aber nicht weiter.
    >>> import os
    >>> cmd= "/home/pi/Dropbox-Uploader/dropbox_uploader.sh list"
    >>> var = os.popen(cmd).read()
    >>> print var
    > Listing "/"... DONE
    [F] 827428 01-20140828094537.avi
    [F] 1048954 01-20140829082343.avi
    [F] 165376 01-20140830074837.avi
    .
    .
    Wie kann ich nun selektiv z.B. die Dateien vom Vortag selektieren, um sie dann zu Löschen.
    Als Python-Anfänger brauche ich vielleicht nur einige Denkansätze um weiter zu kommen.
    Grüße,
    Thomas

    • Offizieller Beitrag

    Was ist var für ein dateityp? <string>? Dann würde ich zuerst den ganzen String erstmal nach new-lines splitten

    Code
    var =var.split("\n")


    Dann hast das alles schon mal als python liste. Über die kannst du dann per for Schleife iterieren und mittels startswith() und split nach Datum filtern.

  • Vielen Dank für die Anregung:

    Code
    var =var.split("\n")


    Meine kleine Routine löscht nun die Dateien vom Vortag.


    Bevor ich mich nun an die Datumsrechnung mache, kann man die Aufbereitung der
    gelesenden Daten in 'var' nicht noch etwas eleganter lösen?
    Danke im Voraus!
    Thomas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!