更改ID3标签Python 2.7

时间:2016-02-09 06:07:41

标签: python mp3 id3 mutagen

您好我一直在尝试制作批量更改ID3标签的内容,而Mutagen似乎是要走的路,但我无法弄清楚为什么标签会保持不变。当我在MP3文件上打开属性时,我没有错误,只是没有保存细节。

def changetags(path, albumart, album, title, artist):
    mp3file = mp3.MP3(path)

    tagged = mp3file.add_tags()

    tagged.add(id3.TIT2(encoding=3, text=title))
    tagged.add(id3.TALB(encoding=3, text=album))
    tagged.add(id3.TPE1(encoding=3, text=artist))
    if albumart != None:
        tagged.add(id3.APIC(encoding=3, mime='image/png', type=3, desc=u'Cover', data=urllib.urlopen(albumart)))
    tagged.save()

此致 奥迪

1 个答案:

答案 0 :(得分:0)

当我这样做时,我收到错误,因为taggedNone。这就是我所期望的,因为add_tags()方法并没有返回任何东西。我想你想要更像的东西:

mp3file.add_tags()
mp3file.add(id3.TIT2(encoding=3, text=title))
...
mp3file.save()

它是您要修改和保存的文件对象(实际上是其tags对象)。

或者,您可以创建一个空的ID3对象,然后将其保存到指定的路径。

另外,您可能会发现EasyID3类更易于使用,特别是如果您正在考虑使用除MP3以外的任何其他类型的文件中的标签。