Для того, чтобы работать с какой-то картины (скачать его, обнаружить формат и магазин) Я использую следующий код:shutil.copyfileobj неправильно скопированные данные
image = urllib.request.urlopen(img_url)
buf = io.BytesIO()
shutil.copyfileobj(image, buf)
ext = imghdr.what(buf)
И вн был пустой (то есть формат не может быть обнаружен) , Я попытался переделать его несколько иначе:
image = urllib.request.urlopen(link)
test = image.read()
binbuf = io.BytesIO(test)
imghdr.what(binbuf)
И это действительно сработало. Мое заключение заключается в том, что copyfileobj как-то разбирается в вещи. Почему это происходит?