Python: Mutagen -пример работы

Интересная библиотека под названием Mutagen попалась мне на днях. Служит она для обработки метаданных в медиафайлах, а значит сегодняшняя тема будет звучать как: Mutagen — пример работы.
Библиотека Mutagen хороша не только большим количеством поддерживаемых форматов — важно, что библиотека рабочая (в отличии от десятка других, в Google и Wiki-Python упомянутых, но теперь уже заброшенных и устаревших). По заявлению разработчиков — библиотека поддерживает ASF, FLAC, MP4, Monkey’s Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG, и AIFF, а так же получать данные о битрейте трека и его продолжительности. Очень хорошая документация доступна на сайте разработчика, я же поделюсь примером кода, который позволяет выгребать данные о продолжительности трека, его битрейте, исполнителе, и названии песни — такая себе краткая шпаргалка по работе с Mutagen 🙂

  1. import mutagen #Подключили библиотеку Mutagen
  2. import datetime #Подключили библиотеку для работы с временем
  3. def get_data(track): #Создаем функцию, которая будет получать данные из трека
  4.     audiofile = mutagen.File(track) #создаем переменную, которая состоит из запроса библиотеки к файлу
  5.     print('Продолжительность трека:', datetime.timedelta(seconds=audiofile.info.length)) #Выводим продолжительность трека
  6.     print('Битрейт:', audiofile.info.bitrate) #Выводим битрейт трека
  7.     song_title = audiofile.tags.getall('TIT2') #Получаем название трека
  8.     singer_title = audiofile.tags.getall('TPE2') #Получаем исполнителя
  9.     print('Исполнитель:', singer_title[0]) #Выводим исполнителя
  10.     print('Название песни:', song_title[0], '\n') #Выводим название трека
  11.  
  12. track = str(input('Название песни: ')) #Просим пользователя ввести название файла
  13. get_data(track) #Подключаем функцию

Логичным действием будет желание навести порядок в фонотеке на компьютере. Для этого мы сделаем программу, которая будет получать данные об исполнителе песни, ее названии, и — отправлять эти данные с куском трека на сверку. Если отправленные данные верны — переходим к следующему треку, если отправленные данные ошибочны — запрашиваем верные данные, перезаписываем их в теги трека и переходим к следующему треку. Но это уже — другая история 😉

Следите за обновлениями!
Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.