在 Python 中通过 eyeD3 更新 mp3 标签

Posted

技术标签:

【中文标题】在 Python 中通过 eyeD3 更新 mp3 标签【英文标题】:Update mp3 tags by eyeD3 in Python 【发布时间】:2012-02-23 08:28:14 【问题描述】:

我想用日语更新 Mp3 (ID3) 标签,但是当我尝试此代码时它给了我错误

tag = eyeD3.Tag()
tag.link(mp3_file_name)
tag.setVersion([2,3,0])
tag.setArtist(u'\u897f\u306f\u3058\u3081')
tag.update()

tag.update() 行通过此错误

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)

如何在 mp3 的艺术家标签中添加日本名字?

【问题讨论】:

您使用的是哪个版本的 Python? 【参考方案1】:

错误代码表明您使用的是“latin-1”编解码器。 使用“--set-encoding=latin1|utf8|utf16-BE|utf16-LE”开关来使用有效的编解码器。

【讨论】:

eyeD3python lib中有没有这样的函数,我可以在哪里设置编码? @Ahsan 尝试在脚本顶部和 eyeD3 源文件顶部添加 # -*- coding: shift_jis -*-。 同样的错误,你能解释一下这行,它会做什么? 看起来问题是您找不到有效的编码。尝试完善coding,这将允许您将文本保存到一个简单的文本文件中。然后像我在上一条评论中所说的那样使用该编码。

以上是关于在 Python 中通过 eyeD3 更新 mp3 标签的主要内容,如果未能解决你的问题,请参考以下文章

使用 eyeD3 在 python 2.7 中标记 mp3 文件

如何使用 eyed3 python 模块为 mp3 设置缩略图?

python 使用eyed3在MP3文件上设置ID3标签

在 mp3 元数据中使用 python 添加专辑封面

python的音频处理库

在 C 中通过套接字发送 mp3 文件