Python тегтерін өңдеу кітапханасы,mutagen
Python кітапханасының мутагенін mp3 сияқты мультимедиялық файлдардың тегтерін (метадеректерін) өңдеу үшін пайдалануға болады.
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
Мұнда ID3 тегін өңдеудің мысалы берілген.
ID3 туралы қосымша ақпарат алу үшін келесі сілтемені қараңыз. Стандарт бастапқыда mp3 үшін жасалған, бірақ қазір mp4 (m4a) және басқа mp3 емес файлдарға да қолданылады.
mutagen.easyid3
Егер сіз жай ғана орындаушы атын, альбом атауларын, трек нөмірлерін және т.б. оқығыңыз немесе жазғыңыз келсе, EasyID3 модулін пайдалану оңай.
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
ID3 тегтерін тікелей өңдеу үшін ID3 модулін пайдаланыңыз.
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
)
Тег идентификаторлары келесі сілтемедегі ресми құжаттамада жинақталған, бірақ олардың қандай ақпаратты білдіретінін түсіну қиын.
Сәйкестікті тексеру үшін бар файлдың ID3 тегтерін көрсету үшін pprint() әдісін пайдалану оңайырақ болуы мүмкін.