FLAC ファイルからメタデータを読み取るようにこのスクリプトをコーディングしましたが、動作することもありますが、このエラーがスローされ、理由がわかりません。これらのファイルは破損していません。特定の FLAC ファイルのヘッダーの読み取りに問題があるようですが、これを回避する方法がわかりません。
これはコードです:
def get_meta():
for dirpath, directories, files in os.walk(XPATH):
for sound_file in files:
date = artist = album = title = genre = ""
if sound_file.endswith('.flac'):
print('Flac file found, getting metadata and renaming...')
flac_file = os.path.join(dirpath, sound_file)
from mutagen.flac import FLAC
metadata = mutagen.flac.Open(flac_file)
File "recursivetest.py", line 54, in get_sound
metadata = mutagen.flac.Open(flac_file)
File "/home/xavier/Code/autotube/venv/lib/python3.5/site-packages/mutagen/_file.py", line 42, in __init__
self.load(filename, *args, **kwargs)
File "/home/xavier/Code/auto/venv/lib/python3.5/site-packages/mutagen/flac.py", line 759, in load
self.__check_header(fileobj)
File "/home/xavier/Code/auto/venv/lib/python3.5/site-packages/mutagen/flac.py", line 857, in __check_header
header = fileobj.read(4)
File "/home/xavier/Code/auto/venv/lib/python3.5/site-packages/mutagen/flac.py", line 68, in read
size, len(data)))
mutagen.flac.error: file said 4 bytes, read 0 bytes