【问题标题】:Python - Add ID3 tags to mp3 file that has NO tagsPython - 将 ID3 标签添加到没有标签的 mp3 文件中
【发布时间】:2013-08-24 12:27:47
【问题描述】:

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

有人可以推荐一个可以通过循环工作的好的 ID3 标签编辑器库吗?当 ID3 标签为 100% 空白时,我还需要了解哪些关于编辑/添加 ID3 标签的信息?一个又一个库地尝试库,却发现问题仍然存在,这令人沮丧。

谢谢。

【问题讨论】:

    标签: python id3


    【解决方案1】:
    import mutagen.id3
    import mutagen.mp3
    
    M = mutagen.mp3.MP3(myfilepath)
    
    if M.tags is None:
        M.tags = mutagen.id3.ID3()  # also sets the filepath for the ID3 instance
    
    M.tags['TIT2'] = mutagen.id3.TIT2(encoding=1, text=['mytitle'])
    
    M.save(v1=0, v2_version=3)  # save ID3v2.3 only without ID3v1 (default is ID3v2.4)
    

    【讨论】:

      【解决方案2】:

      诱变剂处理得很好:

      >>> 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']}
      

      【讨论】:

      • 我会试试的;当我将它们放入循环时,它第一次不起作用。
      • 对不起,我正在回车,它正在发布 cmets 当我做第一行时,meta = EasyID3(file) 它说:mutagen.id3.ID3NoHeaderError: 'musicfile.mp3' doesn't以 ID3 标签开始
      • 是的,我需要阅读常见问题解答。请记住,我在这个项目上已经连续工作了大约 3 天,所以阅读水平会随着挫折的增加而下降。好的,我现在可以使用诱变剂读取/创建 ID3 标签。现在只有一个问题; ID3 标签在 Windows 资源管理器中不可见。我看到我可以在保存时使用 v1=2 或其他东西,但它们仍然不可见。有什么线索吗?
      • 上面的代码不起作用。当我输入 try/exception 语句时,我得到这个: Traceback (last recent call last): File "", line 3, in NameError: name 'mutagen' is not defined 是的,我做到了做导入线。
      • 非常感谢。我刚刚开始工作。我将 meta.save() 更改为 meta.save(filepath, v1=2) 并得到了我需要的确切结果。太感谢了。 Mutagen 文档不是很好,因此非常感谢您的帮助。如果你在东京,我会请你喝啤酒!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 2017-02-01
      相关资源
      最近更新 更多