Библиотека за уређивање Питхон ознака,mutagen
Мутаген Питхон библиотеке може се користити за уређивање ознака (метаподатака) мултимедијалних датотека као што је мп3.
Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, MP4, Monkey’s Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG, and AIFF audio files.
Можете га инсталирати помоћу пип-а.
$ pip install mutagen
Ево примера уређивања ИД3 ознаке.
За више информација о ИД3, погледајте следећу везу. Стандард је првобитно креиран за мп3, али се сада примењује и на мп4 (м4а) и друге датотеке које нису мп3.
mutagen.easyid3
Ако само желите да читате или пишете имена извођача, називе албума, бројеве нумера, итд., Лако је користити ЕасиИД3 модул.
from mutagen.easyid3 import EasyID3
Да бисте написали наслов песме, урадите следеће
path = 'example.mp3'
tags = EasyID3(path)
tags['title'] = 'new_title'
tags.save()
Само ограничен број ознака се може уређивати да би се постигао једноставан интерфејс, али је то довољно за основну употребу. Ознаке које се могу уређивати могу се видети испод.EasyID3.valid_keys.keys()
for key in EasyID3.valid_keys.keys():
print(key)
# album
# bpm
# compilation
# composer
# copyright
# encodedby
# lyricist
# length
# media
# mood
# title
# version
# artist
# albumartist
# conductor
# arranger
# discnumber
# organization
# tracknumber
# author
# albumartistsort
# albumsort
# composersort
# artistsort
# titlesort
# isrc
# discsubtitle
# language
# genre
# date
# originaldate
# performer:*
# musicbrainz_trackid
# website
# replaygain_*_gain
# replaygain_*_peak
# musicbrainz_artistid
# musicbrainz_albumid
# musicbrainz_albumartistid
# musicbrainz_trmid
# musicip_puid
# musicip_fingerprint
# musicbrainz_albumstatus
# musicbrainz_albumtype
# releasecountry
# musicbrainz_discid
# asin
# performer
# barcode
# catalognumber
# musicbrainz_releasetrackid
# musicbrainz_releasegroupid
# musicbrainz_workid
# acoustid_fingerprint
# acoustid_id
Корисно је дефинисати функцију.
Ознаке су написане на следећи начин. Укупан број нумера (број песама) представљен је имениоцем ‘трацкнумбер’. Исто важи и за број дискова.
def set_id3_tag(file_path, title=None, artist=None, albumartist=None, album=None, genre=None,
track_num=None, total_track_num=None, disc_num=None, total_disc_num=None):
tags = EasyID3(file_path)
if title:
tags['title'] = title
if artist:
tags['artist'] = artist
if albumartist:
tags['albumartist'] = albumartist
if album:
tags['album'] = album
if genre:
tags['genre'] = genre
if total_track_num:
if track_num:
tags['tracknumber'] = '{}/{}'.format(track_num, total_track_num)
else:
tags['tracknumber'] = '/{}'.format(total_track_num)
else:
if track_num:
tags['tracknumber'] = '{}'.format(track_num)
if total_disc_num:
if disc_num:
tags['discnumber'] = '{}/{}'.format(disc_num, total_disc_num)
else:
tags['discnumber'] = '/{}'.format(total_disc_num)
else:
if track_num:
tags['discnumber'] = '{}'.format(disc_num)
tags.save()
Очитавање ознаке (приказ) је следеће.
def show_id3_tags(file_path):
tags = EasyID3(file_path)
print(tags.pprint())
Ознаке се уклањају на следећи начин.
def delete_id3_tag(file_path, target_tag):
tags = EasyID3(file_path)
tags.pop(target_tag, None)
tags.save()
def delete_all_id3_tag(file_path):
tags = EasyID3(file_path)
tags.delete()
tags.save()
Користите на следећи начин.
set_id3_tag(path, albumartist='new_artist')
delete_id3_tag(path, 'discnumber')
show_id3_tags(path)
mutagen.id3
Да бисте директно уређивали ИД3 ознаке, користите ИД3 модул.
from mutagen.id3 import ID3, TIT2
path = 'example.mp3'
tags = ID3(path)
print(tags.pprint())
tags.add(TIT2(encoding=3, text="new_title"))
tags.save()
Да бисте писали, наведите ИД ознаке као што је приказано испод.
- наслови песама(
TIT2
) - Назив албума(
TALB
)
ИД-ови ознака су сажети у званичној документацији на следећем линку, али је тешко разумети какву врсту информација представљају.
Можда ће бити лакше користити метод ппринт() за приказ ИД3 ознака постојеће датотеке како би се проверила кореспонденција.