【问题标题】:Python youtube_dl change output namePython youtube_dl 更改输出名称
【发布时间】:2021-04-26 00:14:37
【问题描述】:

我正在尝试构建一个不和谐的音乐机器人,并正在使用 youtube_dl 下载歌曲。我想将它们保存在一个目录中,这样我就不必每次都重新下载它们。但我想更改目录中的歌曲名称。

我知道我必须更改 outtmpl 中的某些内容,但这只是给了我这首歌的 youtube 名称:

ydl_opts = {
            'outtmpl': f'./project/audio/%(title)s.%(ext)s', #Output directory
            'format': 'bestaudio/best',
            'postprocessors': [{
                'key': 'FFmpegExtractAudio',
                'preferredcodec': 'mp3',
                'preferredquality': '192',

            }],
        }

        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
             ydl.download([url])

当我将 outtmpl 替换为:'outtmpl':f'./project/audio/{songname}', 时,它给了我错误消息: 下载错误:错误:音频转换失败:文件:mp3:无效参数

【问题讨论】:

标签: python discord.py youtube-dl


【解决方案1】:

尝试print 你的outtmpl 以确保它包含你所期望的。 PEP 建议在 f-strings 中使用 {variable} 而不是 %(ext)s

f'./project/audio/{title}.{ext}'

【讨论】:

  • 那些%(...)令牌被youtube-dl itself使用; titleext 可能不会在 OP 代码的任何地方定义。他们在那里使用 f 弦毫无意义,所以这个答案与问题无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2013-02-25
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
相关资源
最近更新 更多