Python中的ID3标签 - Python是否是此任务的错误语言?

Ten*_*igh 1 python perl id3

我正在尝试编写一个Python脚本来读取我的MP3的文件名,当它找到一个缺少的Artist标签时,它将从文件名的第一部分开始.我的大部分MP3都标题为"Artist - Title.mp3".

但是没有一个ID3标签阅读器在Python中运行良好.ID3将不会读取1.1之后的任何标记,并且自2002年以来尚未开发.当文件缺少标记时,Mutagen会引发异常.Eye3D需要安装二进制文件以使库工作,与pylibid3同上.

我使用的是错误的语言吗?我听说Perl有一些很棒的ID3标签库.我是一个新手,所以切换语言(我读过一本关于Perl的书已经有一段时间了)意味着从头开始.但是如果Python是错误的语言,我愿意这样做.

有什么想法吗?

xor*_*yst 6

使用mutagen处理异常很容易:

from mutagen.id3 import ID3, TPE1, ID3NoHeaderError
try:
    audio = ID3(filename)
except ID3NoHeaderError:
    audio = ID3()

audio.add(TPE1(encoding=3, text=u'Artist'))
audio.save(filename)
Run Code Online (Sandbox Code Playgroud)