Извлечение текстов песен из mp3-файла на Python с помощью eyeD3
В настоящее время я пытаюсь использовать 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? Возможно ли это?
Большое вам спасибо заранее.
3 ответа:
Похоже, что это итератор. Попробуйте
tag.lyrics[0]
Или
for lyric in tag.lyrics: print lyric
В крайнем случае распечатайте каталог объектов и найдите полезные функции
print dir(tag.lyrics)
Донжума, питон говорит вам:
<iterator object at hex_location>
Вы можете попробовать следующее, Но это не удается на строках
hasattr(myObj, '__iter__')
Пользователь: mindu объясняет здесь , что вы можете написать надежную функцию, которая проверяет
try: some_object_iterator = iter(some_object) except TypeError, te: print some_object, 'is not iterable'
но!!! Это не весть. Питон верит втипирование утки , которое в основном говорит: "если он выглядит как утка и крякает как утка, это должна быть утка."Смотрите ссылку для получения дополнительной информации.