2016-12-13 5 views
1

Ich versuche, ein Programm zu schreiben, wo ich durch Verzeichnisse iterieren, und in jedem Unterverzeichnis ich einen Zeitraffer mit den Bildern innerhalb des Ordners erstellen. DieseErstelle Timelapse Iterieren durch Verzeichnisse mit Python Linux

ist, was ich habe jetzt:

import os 

#iterating through directories 
RootDir='/home/pi/TestMultFolder/RootDir' 

for subdir, dirs, files in os.walk(RootDir) 


filepath=subdir 
    print filepath 
    #create Timelapse 
    os.system("avconv -r 10 -i Img_%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelapse.mp4") 

Dieser druckt die richtigen Verzeichnisse, aber die Timelapse nicht tun. Der Timelapse-Befehl funktioniert, wenn ich es in einem einzigen Ordner mache. Ich benutze eine Raspberry Pi v3.

Vielen Dank im Voraus! :)

Antwort

0

Nevermind fand heraus, was falsch war. Hier ist, warum für alle, die interessiert ist:

Ich habe einfach nicht Verzeichnis wechseln, um Befehl auszuführen. Also fügte ich ein os.chdir (Dateipfad)

import os 

#iterating through directories 
RootDir='/home/pi/TestMultFolder/RootDir' 

for subdir, dirs, files in os.walk(RootDir) 
    filepath=subdirs+'/' 
    print filepath 
    #create Timelapse 
    os.chdir(filepath) 
    os.system("avconv -r 10 -i Img_%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelapse.mp4") 
-2

Sie mißbraucht os.walk, waht Sie subdir nennen, ist eigentlich das Root-Verzeichnis, sollten Sie es gerne verwenden:

for root, dirs, files in os.walk(RootDir): 

und Sie werden Ihre subdirs in dirs finden.

+0

Dies ist eine sehr unvollständige Antwort und erklärt nicht, wie zu tun, was das OP fragt. – asongtoruin

+0

Sie haben Recht, ich sollte stattdessen einen Kommentar schreiben – iFlo

Verwandte Themen