You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:05:46