我正在尝试用下面的代码从MP3文件中读取封面。
import tkinter as tk
from PIL import Image, ImageTk
from io import BytesIO
import mutagen
from mutagen.id3 import APIC
root = tk.Tk()
image_bytes = mutagen.File('/Users/id3-sample.mp3')['APIC:'].data
image_stream = BytesIO(image_bytes)
img = ImageTk.PhotoImage(Image.open(image_stream))
tk.Label(root, image = img).pack() 但我得到了以下错误消息:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mutagen/_util.py", line 536, in __getitem__
return self.__dict[key]
builtins.KeyError: 'APIC:'发布于 2019-06-22 15:03:58
你可以使用Mutagen的File,Picture类。请查看由foosion提供的答案。
发布于 2019-06-22 15:04:21
当您使用语法dictionary[key]尝试访问以读取未存储在字典中的键的值时,dict类型的对象的__getitem__方法会引发您获得的异常类型KeyError。
在你的代码中,正如@Thierry在评论中指出的那样,你正在犯这个错误。您正在尝试访问以读取键APIC:的值,该值未存储到类型为mutagen.File的对象中,支持通过__getitem__方法进行属性检索(与字典一样)。正确的密钥应该是APIC。
...
image_bytes = mutagen.File('/Users/id3-sample.mp3')['APIC'].data
...https://stackoverflow.com/questions/56713103
复制相似问题