0
我需要一個腳本來檢查沒有嵌入式圖像的MP3文件的整個目錄。 這個函數應該返回這樣一個列表。Python eyed3檢查嵌入式圖像
def checkAlbumCover(file_list):
ret = list() #list with mp3 files without album cover
for f in file_list:
mp3 = eyed3.load(f)
if len(mp3.tag.images) == 0:
ret.append(f)
return ret
使用另一個函數,我遍歷每個目錄和子目錄並獲取所有文件路徑。然後我檢查它們是否是mp3文件,如果不是,我刪除它們。所以最後我有一個包含173個mp3文件的列表(在我的情況下)。文件路徑是正確的,但是,上面的功能給我錯誤。
輸出:
173 mp3 files found.
Traceback (most recent call last):
File "get_album.py", line 32, in <module>
main()
File "get_album.py", line 18, in main
list_without_image = checkAlbumCover(all_files)
File "get_album.py", line 10, in checkAlbumArt
if len(mp3.tag.images) == 0: # 0 images embedded
AttributeError: 'NoneType' object has no attribute 'images'
我做了什麼錯?
編輯: 我打印出來f
檢查圖像之前,似乎我已經功能檢查20〜文件崩潰之前。
我「固定」它:
if mp3.tag is None: # 0 images embedded
ret.append(f)
不過,我真的不明白爲什麼tag
是None
...