画像が埋め込まれていない mp3 ファイルのディレクトリ全体をチェックするスクリプトが必要です。この関数は、そのようなリストを返す必要があります。
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
...