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

Discord.py音乐机器人使用spotdl下载Spotify曲目时-s参数不识别问题问询

问题解决方法

报错根因

你遇到的spotdl: error: unrecognized arguments: -s报错是由于spotdl版本不兼容导致:教程使用的是v3及更早的旧版本spotdl,而你当前pip安装的是v4及以上的新版本,新版本已经移除了-s参数,同时调整了输出路径等参数的命名规则。

解决步骤

  • 方案一:适配新版本spotdl(推荐)
    修改代码中两处spotdl调用逻辑:
    1. 找到play函数异常分支中的系统调用语句:
      原代码:
      system("spotdl -f " + '"' + c_path + '"' + " -s " + url)
      
      替换为:
      system(f'spotdl --output "{c_path}" {url}')
      
    2. 找到queue函数异常分支中的系统调用语句:
      原代码:
      system(f"spotdl -ff song{q_num} -f " + '"' + q_path + '"' + " -s " + url)
      
      替换为:
      system(f'spotdl --output "{q_path}/song{q_num}.%(ext)s" {url}')
      
  • 方案二:降级到兼容版本
    不想改代码可以直接安装教程对应版本的spotdl,执行命令:
    pip install spotdl==3.9.6
    

可选优化

建议将os.system调用替换为subprocess.run,可以捕获执行错误输出,后续排查问题更方便,同时避免特殊字符导致的命令注入风险。

内容的提问来源于stack exchange,提问作者Md Sadman Muhtasim Billah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:45:05