2017-02-14 38 views
1

mutagen을 사용하여 .mp3 파일의 메타 데이터 정보를 업데이트하는 스크립트를 작성 중입니다.
댓글 태그에 문제가있는 것 같습니다. EasyID3을 사용하여 ID3 태그 작성

이 내 코드는 지금까지

import mutagen 
from mutagen.easyid3 import EasyID3 

path = 'song.mp3' 
try: 
    tag = EasyID3(path) 
except: 
    tag = mutagen.File(path, easy=True) 
    tag.add_tags() 

tag['genre'] = 'mygenre' 
tag['artist'] = 'myartist' 
tag['title'] = 'mytitle' 
tag['date'] = '1000' 
tag['album'] = 'myalbum' 
tag['albumartist'] = 'myalbumartist' 
tag['tracknumber'] = 'mytracknumber' 
tag['discnumber'] = 'mydiscnumber' 
tag.save(v2_version=3) 

이 나를 위해 벌금을 작동하지만 내가

tag['comment'] = 'mycomment' 

를 추가 할 때 다음과 같은 오류를 얻을

mutagen.easyid3.EasyID3KeyError: "'comment' is not a valid key" 

답변

2
>>> import pprint 
>>> from mutagen.easyid3 import EasyID3 
>>> print EasyID3.valid_keys.keys() 
>>> pprint.pprint(EasyID3.valid_keys.keys()) 
['albumartistsort', 
'musicbrainz_albumstatus', 
'lyricist', 
'musicbrainz_workid', 
'releasecountry', 
'date', 
'albumartist', 
'musicbrainz_albumartistid', 
'composer', 
'catalognumber', 
'encodedby', 
'tracknumber', 
'musicbrainz_albumid', 
'album', 
'asin', 
'musicbrainz_artistid', 
'mood', 
'copyright', 
'author', 
'media', 
'performer', 
'length', 
'acoustid_fingerprint', 
'version', 
'artistsort', 
'titlesort', 
'discsubtitle', 
'website', 
'musicip_fingerprint', 
'conductor', 
'musicbrainz_releasegroupid', 
'compilation', 
'barcode', 
'performer:*', 
'composersort', 
'musicbrainz_discid', 
'musicbrainz_albumtype', 
'genre', 
'isrc', 
'discnumber', 
'musicbrainz_trmid', 
'acoustid_id', 
'replaygain_*_gain', 
'musicip_puid', 
'originaldate', 
'language', 
'artist', 
'title', 
'bpm', 
'musicbrainz_trackid', 
'arranger', 
'albumsort', 
'replaygain_*_peak', 
'organization', 
'musicbrainz_releasetrackid'] 

그것을 실제로는 comment 인 것 같습니다. 유효한 키가 아닙니다. 두려움이없는 것 같습니다. you can define your own!this document과 합치면, frameid이 필요합니다. COMM입니다. 따라서 EasyID3.RegisterTextKey('comment', 'COMM')을 추가하면 필요한 작업을 수행 할 수 있습니다. :)

+0

완벽하게 작동합니다. 고맙습니다. – multifractal

+0

환영합니다. 도움이 되니 기쁩니다! :) – sxn

+0

최신 태그를 확인하십시오 (추가 할 경우) : https://github.com/quodlibet/mutagen/blob/master/mutagen/easyid3.py 지원되는 태그는 파일. – ritiek