我目前正在使用Python和eyeD3库中提取MP3文件的歌词。 歌词已经被嵌入到MP3文件已经(通过:MusicBee)。 我试图用eyeD3返回歌词。 我无法弄清楚如何做到这一点。 我已经在网上搜广泛和所有我发现了教程展示如何设置歌词。 我只是想从文件中读取它们。 这里是我当前的代码:
track = eyed3.load(path)
tag = track.tag
artist = tag.artist
lyrics = tag.lyrics
艺术家正确返回艺术家的名字,但歌词返回以下内容:
<eyed3.id3.tag.LyricsAccessor object at 0x27402d0>
我如何才能返回嵌入到MP3的原始文本歌词? 这可能吗?
非常感谢你在先进。
看起来这是一个迭代器。 尝试
tag.lyrics[0]
要么
for lyric in tag.lyrics:
print lyric
不得已打印对象目录,寻找有用的功能
print dir(tag.lyrics)
u"".join([i.text for i in tag.lyrics])
DonJuma,Python的告诉你:
<iterator object at hex_location>
你可以尝试以下,但它在字符串失败
hasattr(myObj, '__iter__')
用户:闽都说明了这里 ,你可以写一个强大的功能检查
try:
some_object_iterator = iter(some_object)
except TypeError, te:
print some_object, 'is not iterable'
但!!! 这不是Python的。 蟒蛇相信鸭打字基本上说,“如果它看起来像鸭子,叫起来像鸭子,那么它一定是鸭子。” 看到该链接以获得更多信息。