Создание timelapse итерации по каталогам с Python Linux

Я пытаюсь написать программу, в которой я перебираю каталоги, и в каждом подкаталоге я создаю интервал с изображениями внутри папки.

Это то, что я имею сейчас:

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 работает, если я делаю это в одной папке. Я использую Raspberry Pi v3.

Заранее спасибо!:)

2 ответа

Решение

Неважно, что случилось. Вот почему для тех, кто заинтересован:

Я просто не изменил каталог для выполнения команды. Поэтому я добавил os.chdir(filepath)

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

Вы неправильно использовали os.walk, если вы называете subdir фактически корневым каталогом, вы должны использовать его следующим образом:

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

и вы найдете ваши subdirs в dirs.

Другие вопросы по тегам