1

我正在尝试编写一个程序,在其中迭代目录,并在每个子目录中创建一个包含文件夹内图像的延时摄影。

这就是我现在所拥有的:

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。

提前致谢!:)

4

2 回答 2

0

没关系,发现出了什么问题。以下是任何感兴趣的人的原因:

我只是没有更改目录来执行命令。所以我添加了一个 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")
于 2016-12-13T12:43:50.290 回答
-2

你误用了 os.walk,你调用的 subdir 实际上是根目录,你应该像这样使用它:

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

你会在 dirs 中找到你的子目录。

于 2016-12-13T11:01:14.113 回答