Python - 将 ID3 标签添加到没有标签的 mp3 文件

标签 python id3

我收到很多没有 ID3 标签的播客。我已经尝试了很多工具,我可以使用这些工具来遍历目录并将标题和艺术家信息添加到 ID3 标签,但它们都失败了。我试过 ID3、eyed3 和诱变剂。大多数情况下,如果文件没有 ID3 标签,这些模块就会失败。

有人可以推荐一个可以通过循环工作的好 ID3 标签编辑器库吗?关于编辑/添加 100% 空白的 ID3 标签,我还需要了解什么?尝试一个又一个库却发现问题依然存在,这让人感到沮丧。

谢谢。

最佳答案

Mutagen 处理得很好:

>>> import mutagen
>>> from mutagen.easyid3 import EasyID3
>>> filePath = "8049.mp3"

>>> try:
>>>    meta = EasyID3(filePath)
>>> except mutagen.id3.ID3NoHeaderError:
>>>    meta = mutagen.File(filePath, easy=True)
>>>    meta.add_tags()
>>> meta
{}
>>> type(meta)
<class 'mutagen.easyid3.EasyID3'>
>>> meta['title'] = "This is a title"
>>> meta['artist'] = "Artist Name"
>>> meta['genre'] = "Space Funk"
>>> meta.save(filePath, v1=2)
>>> changed = EasyID3("8049.mp3")
>>> changed
{'genre': [u'Space Funk'], 'title': [u'This is a title'], 'artist': [u'Artist Name']}

关于Python - 将 ID3 标签添加到没有标签的 mp3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369188/

相关文章:

python - 在 python 中嵌套拆分括号的快速方法是什么?

python - Django 中间件 process_template_response 方法未被调用

python - 启动子线程时 flask 抛出 'working outside of request context'

python - 如何运行x线程数量并等待线程完成

python - 如何使用诱变剂打印 ID3 标签

python - 如何使用 Python 读取 MP3 中的 ID3 标签?

python - 何时在进程上调用 .join()?

ID3 专辑封面/封面标签字段

ruby-on-rails - ruby 使用 open-URI 从 S3 读取文件

ios - iOS:如何从Dropbox同步上的mp3文件中获取ID3标签