首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ID3编写EasyID3标记

使用ID3编写EasyID3标记
EN

Stack Overflow用户
提问于 2017-02-14 16:59:43
回答 1查看 7K关注 0票数 5

我正在编写一个脚本,它使用mutagen更新.mp3文件中的元数据信息。

注释标签似乎有问题。

到目前为止,这是我的代码

代码语言:javascript
复制
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)

这对我来说是罚款,但是当我加上

代码语言:javascript
复制
tag['comment'] = 'mycomment'

我得到以下错误

代码语言:javascript
复制
mutagen.easyid3.EasyID3KeyError: "'comment' is not a valid key"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-14 18:48:12

代码语言:javascript
复制
>>> 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似乎不是一个有效的密钥。不用担心,似乎你可以定义你自己的!本文件相结合,我们需要的frameid被称为COMM。因此,添加一个EasyID3.RegisterTextKey('comment', 'COMM')应该(可能)允许您做您需要的事情。:)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42231932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档