检索MP3文件的歌词使用eyeD3的Python(Retrieve lyrics from an m

2019-08-31 23:58发布

我目前正在使用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的原始文本歌词? 这可能吗?

非常感谢你在先进。

Answer 1:

看起来这是一个迭代器。 尝试

tag.lyrics[0]

要么

for lyric in tag.lyrics:
  print lyric

不得已打印对象目录,寻找有用的功能

print dir(tag.lyrics)


Answer 2:

u"".join([i.text for i in tag.lyrics])


Answer 3:

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的。 蟒蛇相信鸭打字基本上说,“如果它看起来像鸭子,叫起来像鸭子,那么它一定是鸭子。” 看到该链接以获得更多信息。



文章来源: Retrieve lyrics from an mp3 file in Python using eyeD3