Python调用FFmpeg遇PermissionError权限被拒,如何解决?
解决PermissionError: [WinError 5] Access is denied. 问题
针对你用pydub读取MP3时遇到的权限拒绝问题,试试以下几个方案:
检查FFmpeg文件夹权限
右键C:/Program Files/Ffmpeg文件夹,选择「属性」→「安全」→「编辑」,确认当前登录用户拥有读取和执行(至少)或完全控制权限,设置完成后重启Python运行环境。检查目标MP3文件及文件夹权限
确认audio/文件夹和要读取的MP3文件未被其他程序占用(比如音乐播放器正在播放该文件),同时检查文件权限,确保当前用户能读取该文件。调整FFmpeg路径配置
如果你已经将FFmpeg加入系统/用户环境变量,完全可以注释掉手动指定路径的两行代码,pydub会自动搜索环境变量中的ffmpeg:from pydub import AudioSegment # 注释掉下面两行 # AudioSegment.converter = "C:/Program Files/Ffmpeg" # AudioSegment.ffmpeg = "C:/Program Files/Ffmpeg/ffmpeg.exe" sound = AudioSegment.from_mp3("audio/" + song_box.get(ANCHOR))若要手动指定,注意
AudioSegment.converter需要指向ffmpeg.exe的完整路径,而非文件夹:AudioSegment.converter = "C:/Program Files/Ffmpeg/ffmpeg.exe"以管理员身份运行脚本
右键你的Python IDE(如VS Code、PyCharm)或命令提示符,选择「以管理员身份运行」,再执行脚本,绕过部分系统权限限制。更换FFmpeg安装位置
将FFmpeg移到非系统默认的严格权限目录(比如C:/FFmpeg),给该目录设置全用户读写权限后,再更新代码中的路径配置。检查系统临时文件夹权限
pydub处理音频时会用到系统临时目录(如C:/Users/你的用户名/AppData/Local/Temp),确认当前用户对该目录有读写权限,避免临时文件创建失败触发权限错误。
内容的提问来源于stack exchange,提问作者evettsam
相关产品推荐
相关产品推荐

