在Python中使用EyeD3设置ID3注释

在Python中使用EyeD3设置ID3注释,python,eyed3,Python,Eyed3,我在一个包含mp3文件的文件夹中有以下python脚本: import os import eyed3 def track(file): tag = eyed3.load(file) tag.tag.comment = u"teststring" tag.tag.genre = u"Pop" tag.tag.save() for fn in os.listdir('.'): print fn[-3:] if fn[-3:] == 'mp3':

我在一个包含mp3文件的文件夹中有以下python脚本:

import os
import eyed3

def track(file):
    tag = eyed3.load(file)
    tag.tag.comment = u"teststring"
    tag.tag.genre = u"Pop"
    tag.tag.save()

for fn in os.listdir('.'):
    print fn[-3:]
    if fn[-3:] == 'mp3':
        track(fn)
“类型”设置或更改正确,但我的评论只是添加了一些垃圾。我在winamp的注释中添加了一个“测试”,在我运行脚本并从命令行输出ID3信息后,我看到:

ys3(01).mp3 [ 3.86 MB ]
-------------------------------------------------------------------------------
Time: 03:02 MPEG1, Layer III    [ ~177 kb/s @ 48000 Hz - Joint stereo ]
-------------------------------------------------------------------------------
ID3 v2.3:
title: WANDERERS FROM YS    - ?
artist: 
album: 
track:      genre: Pop (id 13)
Comment: [Description: ] [Lang: eng]
Test
Comment: [Description: ÿþÿ] [Lang: eng]
þ
-------------------------------------------------------------------------------

我是否以错误的方式传递了“注释”?

我并不假装理解为什么会这样,但请查看注释是如何设置的:

我相信这与将评论放在框架中有关,但其他人可能不得不插话纠正这一点。请注意,除非通过unicode,否则此操作将失败

这适用于以下版本:

↪ eyeD3 --version
eyeD3 0.7.4-beta (C) Copyright 2002-2013 Travis Shirk

对于我的代码,我必须将其更改为:tag.tag.comments.set(u“Gritty,yo!”)。它很管用,谢谢!你知道你使用的是什么版本的eyed3吗?我只是在上面加了我的。看来这些年来API已经改变了。。。
↪ eyeD3 --version
eyeD3 0.7.4-beta (C) Copyright 2002-2013 Travis Shirk