Eyed3获取MP3专辑信息失败:'NoneType'对象无'album'属性
问题分析与解决
报错AttributeError: 'NoneType' object has no attribute 'album'的核心原因是:当前处理的某个MP3文件没有ID3标签(或者标签损坏),导致song.tag返回了None,直接访问.album就会触发错误。
快速修复代码
给代码加空值判断,避免崩溃同时定位问题文件:
path = os.path.join(paths, file) song = eyed3.load(path) name = Path(path).stem # 先检查song和tag是否有效 if song and song.tag: album = song.tag.album else: print(f"警告:文件 {name} 无有效ID3标签,跳过专辑信息获取") album = None # 也可以设为默认值,比如"未知专辑" alreadyexist = False
排查根本原因
- 检查新增文件:确认目录里是否刚加入了新MP3,部分网络下载的音频可能未嵌入ID3标签。
- 验证文件完整性:用播放器打开可疑文件,确认是否能正常播放、是否存在损坏情况。
- 手动查看标签:用MP3Tag、Foobar2000等工具打开报错文件,检查专辑等ID3字段是否存在。
内容的提问来源于stack exchange,提问作者Louis Cantor
相关产品推荐
相关产品推荐

