Windows下FileNotFoundError排查:无法定位指定文件
问题拆解与解决方案
我来帮你理清这个问题:这个报错完全不是找不到你的tempClip.mp4文件,而是pydub依赖的ffmpeg工具在Windows系统中没有被正确配置,导致Python调用子进程时找不到它。
为什么Linux正常、Windows不行?
Linux Mint 19这类发行版通常默认预装了ffmpeg,而Windows系统不会自带这个多媒体处理工具,所以你的代码在Linux能顺畅运行,到Windows就触发了这个错误。
先确认视频文件是否存在(可选验证步骤)
你可以先加几行代码确认tempClip.mp4确实生成了:
import os print(os.path.exists("tempClip.mp4"))
如果输出True,就100%排除是目标文件的问题,把注意力放在ffmpeg的配置上。
解决办法(两种可选)
方案一:配置系统环境变量(永久生效)
- 去ffmpeg官网下载对应Windows系统的压缩包(32位/64位),解压到本地文件夹,比如
C:\ffmpeg - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」里找到
Path,点击「编辑」,添加解压文件夹里的bin目录路径(比如C:\ffmpeg\bin) - 保存后重启你的Python编辑器或终端,让环境变量生效
- 打开CMD输入
ffmpeg -version,如果能显示版本信息,说明配置成功,再运行你的代码即可
方案二:代码中直接指定ffmpeg路径(临时生效)
如果不想动环境变量,可以在代码开头直接指定ffmpeg的位置:
from pydub import AudioSegment # 替换成你实际的ffmpeg.exe路径 AudioSegment.converter = r"C:\ffmpeg\bin\ffmpeg.exe" # 然后执行你的原有代码 mySegment = AudioSegment.from_file("tempClip.mp4", "mp4")
内容的提问来源于stack exchange,提问作者Just_Not_User_9123
相关产品推荐
相关产品推荐

