【发布时间】:2019-01-05 01:49:11
【问题描述】:
我想创建一个包含以下键的字典列表:标题、专辑和艺术家。
我得到错误:
AttributeError: 'NoneType' 对象没有属性 'tag'
第 17 行:
song_title = mediafile.tag.title,
这是我的代码:
import glob
import eyed3
class Song:
def __init__(self, song_title, album, artist_name,):
self.song_title = song_title
self.album = album
self.artist_name = artist_name
songs = []
media = glob.glob('C:\\My Stuff\\My Music (For Groove)/**/*.mp3', recursive=True)
for song in media:
mediafile = eyed3.load(song)
a = Song(
song_title = mediafile.tag.title,
album = mediafile.tag.album,
artist_name = mediafile.tag.artist,
)
songs.append({'Title' : a.song_title, 'Album' : a.album, 'Artist' : a.artist_name})
任何帮助将不胜感激。
【问题讨论】:
-
mediafile = eyed3.load(song)正在返回None -
请问,我该如何解决?
-
您可以在致电
load()之前添加歌曲检查。也许if os.path.exists(song): -
添加大量
print语句应该可以帮助您查看哪一行出现了问题。 -
好的,我试试。