[使用eyeD3从Python中的mp3文件检索歌词
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[使用eyeD3从Python中的mp3文件检索歌词相关的知识,希望对你有一定的参考价值。
我目前正在尝试使用Python及其eyeD3库从mp3文件中提取歌词。歌词已经嵌入到mp3文件中(通过:MusicBee)。我正在尝试使用eyeD3返回歌词。我不知道该怎么做。我在网上进行了广泛搜索,发现的所有教程都显示了如何设置歌词。我只想从文件中读取它们。这是我当前的代码:
track = eyed3.load(path)
tag = track.tag
artist = tag.artist
lyrics = tag.lyrics
artist正确返回艺术家的姓名,但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__')
user:mindu解释here,您可以编写一个强大的函数来检查
try:
some_object_iterator = iter(some_object)
except TypeError, te:
print some_object, 'is not iterable'
BUT !!!这不是Pythonic。 Python相信Duck Typing的基本含义是:“如果它看起来像鸭子,而象鸭子一样嘎嘎叫,那一定是鸭子。”有关更多信息,请参见链接。
另一答案
这对我有用:
(tag.lyrics[0]).text
以上是关于[使用eyeD3从Python中的mp3文件检索歌词的主要内容,如果未能解决你的问题,请参考以下文章