На днях я использовал eyeD3 с большим успехом. Я обнаружил, что он может добавлять иллюстрации к тегу ID3, который другие модули, на которые я смотрел, не могли. Вам придется загрузить tar и выполнить python setup.py install
из исходной папки.
Ниже приведены соответствующие примеры с сайта.
Чтение содержимого mp3-файла, содержащего информацию о тегах v1 или v2:
import eyeD3
tag = eyeD3.Tag()
tag.link("/some/file.mp3")
print tag.getArtist()
print tag.getAlbum()
print tag.getTitle()
Прочитать mp3 файл (длина дорожки, биттрест и т. д.) и доступ к его тегу:
if eyeD3.isMp3File(f):
audioFile = eyeD3.Mp3AudioFile(f)
tag = audioFile.getTag()
Можно выбрать конкретные версии тегов:
tag.link("/some/file.mp3", eyeD3.ID3_V2)
tag.link("/some/file.mp3", eyeD3.ID3_V1)
tag.link("/some/file.mp3", eyeD3.ID3_ANY_VERSION) # The default.
Или вы можете выполнять итерацию по необработанным кадрам :
tag = eyeD3.Tag()
tag.link("/some/file.mp3")
for frame in tag.frames:
print frame
Как только тег связан с файлом, его можно изменить и сохранить:
tag.setArtist(u"Cro-Mags")
tag.setAlbum(u"Age of Quarrel")
tag.update()
Если связанный тег был v2, и вы хотите сохранить это как v1:
tag.update(eyeD3.ID3_V1_1)
Прочитать в теге и удалить его из файла:
tag.link("/some/file.mp3")
tag.remove()
tag.update()
Добавить новый тег:
tag = eyeD3.Tag()
tag.link('/some/file.mp3') # no tag in this file, link returned False
tag.header.setVersion(eyeD3.ID3_V2_3)
tag.setArtist('Fugazi')
tag.update()