2016-12-13 1 views
1

私はディレクトリを繰り返し処理するプログラムを作成しようとしています。各サブディレクトリでは、フォルダ内の画像でタイムラプスを作成します。Python linuxのディレクトリを使ってtimelapseを繰り返し作成する

これは私が今のところ持っているものです。

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") 

これが正しいサブディレクトリを出力しますが、タイムラプスを行いません。 timelapseコマンドは、単一のフォルダ内で実行すると機能します。 私はラズベリーパイv3を使用しています。

ありがとうございます!

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

、あなたはdirsの中で、あなたのサブディレクトリを検索します::)

答えて

0

Nevermindは何が間違っているかを発見しました。興味のある人は次の理由があります。

私は単にコマンドを実行するためのディレクトリを変更しませんでした。だから私はos.chdir(ファイルパス)を追加しました

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

は、あなたがサブディレクトリが実際にルートディレクトリで呼び出すWAHT、あなたが好きそれを使用する必要があり、os.walkを誤用しました。

+0

これは非常に不完全な答えであり、OPが求めていることをする方法を説明していません。 – asongtoruin

+0

あなたが正しいです、私は代わりにコメントを投稿する必要があります – iFlo

関連する問題