python mp3元标记

时间:2010-10-07 19:45:27

标签: python meta-tags

我尝试编写一个脚本而不是扫描递归给定目录,如果找到mp3获取并只为它打印元标记。我通过getEyeD3Tag得到了一个例外。这是我到目前为止编写的代码

  def getEyeD3Tags(path):
    try:
        trackInfo = eyeD3.Mp3AudioFile(path)
        tag = trackInfo.getTag()
        tag.link(path)
        print tag.getArtist()
        print tag.getAlbum()
        print tag.getTitle()

        #return (tag.getArtist(),tag.getTitle(),tag.getAlbum())
    except eyeD3.InvalidAudioFormatException:
        print "File %s is not a mp3 file " % path
mp3Num=0
temp=os.walk(valid-folder-name)
for root, dirs, files in temp:
    for i in files:
        if os.path.join(root,i):
            temp=os.path.splitext(i)
            temp[1].lower()
            if temp[1]=='.mp3':
                mp3Path=os.path.join(root,i)
                print mp3Path
                getEyeD3Tags(mp3Path)
                mp3Num+=1
                raw_input()
            #print "**"
        else:
            print "Error invalid path"
    print "\n\n"
    #raw_input()
print mp3Num
raw_input()

BTW是一种使用eyeD3获取mp3文件类型的方法吗? Thx提前

1 个答案:

答案 0 :(得分:2)

要检查正在解析的文件是否是有效的mp3,请调用eyeD3.isMp3File( filename )方法。

以下是我用来自动排序音乐文件夹的简短脚本。

def parseIDETag(self, path):
        if eyeD3.isMp3File(path):

这样,如果文件不是mp3,它就会跳过它。

此外,str(tag.getGenre())使用eyeD3将该类型作为字符串返回。