问题描述
我尝试编写一小段代码将 mp4 文件的文件夹转换为 mp3。在尝试了这里找到的几种解决方案都无济于事后,我自己编写了代码,尝试尽可能简单,并且几乎可以正常工作。我使用 os.listdir 制作了一个字符串列表,这些字符串是带有 .mp4 的文件名,然后遍历列表以将它们转换为末尾带有 .mp3 的字符串。
import moviepy.editor as mp
import os
# original working code for one file at a time :
# video = mp.VideoFileClip(r"input.mp4")
# video.audio.write_audiofile(r"output.mp3")
path = "C:\\Users\Alex\Desktop\Programmes\mp4mp3\mp4"
liste_final = []
print(os.listdir(path))
liste_test = os.listdir(path)
for i in liste_test:
liste_final.append(i.replace('4','3'))
for f,b in zip(liste_test,liste_final):
print(f,b)
video = mp.VideoFileClip(f)
video.audio.write_audiofile(b)
但是代码无法找到 mp4 文件,除非我实际上将它们与 .py 文件(mp3mp4 文件夹)和子文件夹(名为 mp4)放在同一个文件夹中,我通常应该在那里存储音乐。
为了清楚起见,这里有一个 ms paint,其中第 1 种有效,第 2 种含有错误消息。
附加信息:我使用 VS 代码在 Windows 10 上,我使用 python 3.9.5 64 位作为解释器。
错误信息:
['Challengers.mp4','genos2.mp4']
Challengers.mp4 Challengers.mp3
Traceback (most recent call last):
File "c:\Users\Alex\Desktop\Programmes\mp4mp3\full.py",line 23,in <module>
video = mp.VideoFileClip(f)
File "C:\Users\Alex\Desktop\Programmes\Python\lib\site-packages\moviepy\video\io\VideoFileClip.py",line 88,in __init__
self.reader = FFMPEG_VideoReader(filename,pix_fmt=pix_fmt,File "C:\Users\Alex\Desktop\Programmes\Python\lib\site-packages\moviepy\video\io\ffmpeg_reader.py",line 35,in __init__
infos = ffmpeg_parse_infos(filename,print_infos,check_duration,line 270,in ffmpeg_parse_infos
raise IOError(("MoviePy error: the file %s Could not be found!\n"
OSError: MoviePy error: the file Challengers.mp4 Could not be found!
Please check that you entered the correct path.
PS C:\Users\Alex\Desktop\Programmes\mp4mp3>
提前致谢,我觉得答案很接近而且很小,但我无法理解。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)