【问题标题】:Create timelapse iterating through directories with Python linux使用 Python linux 创建遍历目录的延时摄影
【发布时间】:2017-04-28 09:11:15
【问题描述】:

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

这是我现在拥有的:

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。

提前致谢! :)

【问题讨论】:

    标签: python linux directory raspberry-pi timelapse


    【解决方案1】:

    没关系找出问题所在。对于任何感兴趣的人,以下是原因:

    我只是没有更改目录来执行命令。所以我添加了一个 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")
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 这是一个非常不完整的答案,并没有解释如何执行 OP 的要求。
      猜你喜欢
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 2010-12-16
      • 2017-10-11
      • 2017-08-01
      • 1970-01-01
      相关资源
      最近更新 更多