【发布时间】:2021-07-02 17:50:53
【问题描述】:
我一直在尝试创建一个 for 循环,Python 在该循环中遍历文件夹中的所有视频文件,并将每个单独的视频文件转换为新的音频文件。
我知道执行此操作的有效代码存在,但仅适用于单个文件。
这是我的代码:
import moviepy
import os
import moviepy.editor
import tempfile
pathdir = "path/to/dir"
for filename in os.listdir(pathdir):
filename.endswith(".mkv")
print(filename)
video = moviepy.editor.VideoFileClip(filename)
audio = video.audio
audio.write_audiofile(filename + ".wav")
else:
print("Finished conversion")
这就是出现的情况 - 请注意打印了正确的文件名,从而被识别。
runfile('path/to/dir/convert video to audio script.py', wdir='path/to/dir/')
fg_av_ger_seg0.mkv
Traceback (most recent call last):
OSError: MoviePy error: the file fg_av_ger_seg0.mkv could not be found!
Please check that you entered the correct path.
供您参考,这是它所基于的代码,它可以正常工作,但仅适用于单个文件:
import moviepy.editor
video = moviepy.editor.VideoFileClip('sample.mp4')
audio = video.audio
audio.write_audiofile('audio.mp3')
感谢您的帮助。我是初学者,所以如果错误是基本的,我提前道歉! :)
【问题讨论】:
-
什么是
path/to/dir?这是一条真实的路径,还是你隐藏了真实的路径?你为什么使用runfile?尝试使用 PyCharm 或 Spyder 等 IDE 调试代码。 -
你好,我被隐藏了真实路径!我以为这不是必需的,也许我错了哈哈?第二组信息是返回的错误!从运行文件到请检查的所有内容。我实际上正在使用 Spyder!
标签: python audio video moviepy video-conversion