Python 3.x Python3 clip.文件夹中所有mp4文件的持续时间

Python 3.x Python3 clip.文件夹中所有mp4文件的持续时间,python-3.x,os.walk,Python 3.x,Os.walk,我是Python新手(使用Python3.6),希望提取一个文件夹中所有mp4文件的持续时间(以秒为单位)。我的密码是: path2 = path_directory from moviepy.video.io.VideoFileClip import VideoFileClip for root, dirs, files in os.walk(path2): for filename in files: clip = VideoFileClip(

我是Python新手(使用Python3.6),希望提取一个文件夹中所有mp4文件的持续时间(以秒为单位)。我的密码是:

path2 = path_directory
from moviepy.video.io.VideoFileClip import VideoFileClip
    for root, dirs, files in os.walk(path2):
        for filename in files:
            clip = VideoFileClip(files)
            print(clip.duration)
如果我定义
clip=VideoFileClip(“name\u of_one\u specific\u file.mp4”)
它会正确打印该特定文件的长度(即590s),因此我猜错误在于我如何浏览所有文件。我需要一个列表,列出我在path2中拥有的245MP4文件的持续时间


事先非常感谢。

您只是有一个小错误:

path2 = path_directory
from moviepy.video.io.VideoFileClip import VideoFileClip
for root, dirs, files in os.walk(path2):
    for filename in files:
        clip = VideoFileClip(filename) # <= !!!
        print(clip.duration)
path2=path\u目录
从moviepy.video.io.VideoFileClip导入VideoFileClip
对于os.walk(路径2)中的根目录、目录和文件:
对于文件中的文件名:

clip=VideoFileClip(filename)#Python 3.4提供了一个较新的库,它通常比
walk
更易于使用。它是
pathlib

这就是如何在你的情况下使用它

from pathlib import Path
from moviepy.video.io.VideoFileClip import VideoFileClip

path2 = r' -------- '
for filename in Path(path2).glob('*.mp4'):
    clip = VideoFileClip(filename.as_posix())
    print(clip.duration)

clip=VideoFileClip(文件名)
?谢谢你。它对几个“文件名”起作用,但由于以下错误而停止:回溯(最后一次调用):File“/Users/usr/anaconda3/lib/python3.6/site packages/moviepy/video/io/ffmpeg_reader.py”,第283行,在ffmpeg_parse_infos line=[l代表l,如果关键字位于l][0]索引器:列表索引超出范围程序员还需要安排将路径信息放入对
VideoFileClip
的调用中。谢谢@Megalng。它对几个“文件名”起作用,但由于以下错误而停止了:回溯(最近一次调用最后一次):File“/Users/usr/anaconda3/lib/python3.6/site packages/moviepy/video/io/ffmpeg_reader.py”,ffmpeg_parse_infos line=[l for l in line if keyword in l][0]索引器:列表索引超出范围谢谢@BillBell。如下所示,它迭代一些文件,直到我收到以下错误消息:Traceback(最近一次调用last):File“/Users/usr/path_to_my_python_code_File.py”,第333行,在clip=VideoFileClip(filename.As_posix())File“/Users/usr/anaconda3/lib/python3.6/site packages/moviepy/video/io/VideoFileClip.py”,第81行,在init fps_source=fps_source)文件“/Users/usr/anaconda3/lib/python3.6/site packages/moviepy/video/io/ffmpeg_reader.py”的第33行,在init self.fps=infos['video_fps']键错误:“video_fps”