使用mutagen检查专辑封面

1 投票
1 回答
1049 浏览
提问于 2025-04-17 23:33

我用eyed3来处理id3文件,但每次我想打开一个包含特殊字符,比如"ü"的文件时,它就崩溃,因为无法打开这些文件...

所以我换成了mutagen。我想检查我的整个音乐库,看看哪些有专辑封面。

#pict_test function

def pict_test(filepath):
    audio = File( filepath )

    if 'covr' in audio or 'APIC:' in audio:
        return True

    return False

#main
filepath = "/home/jds/Desktop/M_M/"

#get all files in this directory including sub directories
files = getFiles.get_all_files( filepath ) 
files = getMp3Files( files )

print "%d mp3 files found.\n" % ( len(files) )
f = open( "No Img.txt", "w" )
for f in files:
    if not pict_test( f ): #if no image is found write filepath to file
        f.write( f + "\n" )
f.close()

这个方法“有效”。我得到了没有专辑封面的文件,但也得到了专辑封面的文件。

这是什么问题呢?

1 个回答

1

我搞明白了。

我把 pict_test 这个函数改成了这样:

def pict_test(filepath):
    audio = File( filepath )
    for k in audio.keys():
        if u'covr' in k or u'APIC' in k:
            return True

    return False

撰写回答