首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python读取MP3封面文件

Python读取MP3封面文件
EN

Stack Overflow用户
提问于 2019-06-22 14:18:49
回答 2查看 232关注 0票数 0

我正在尝试用下面的代码从MP3文件中读取封面。

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

但我得到了以下错误消息:

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

回答 2

Stack Overflow用户

发布于 2019-06-22 15:03:58

你可以使用Mutagen的File,Picture类。请查看由foosion提供的答案。

票数 0
EN

Stack Overflow用户

发布于 2019-06-22 15:04:21

当您使用语法dictionary[key]尝试访问以读取未存储在字典中的键的值时,dict类型的对象的__getitem__方法会引发您获得的异常类型KeyError

在你的代码中,正如@Thierry在评论中指出的那样,你正在犯这个错误。您正在尝试访问以读取键APIC:的值,该值未存储到类型为mutagen.File的对象中,支持通过__getitem__方法进行属性检索(与字典一样)。正确的密钥应该是APIC

代码语言:javascript
复制
...
image_bytes = mutagen.File('/Users/id3-sample.mp3')['APIC'].data 
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56713103

复制
相关文章

相似问题

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