Может кто-нибудь пролить свет на то, что не так с моим кодом и что именно вызывает эту ошибку? Я новичок в Python и хотел бы загрузить в эту сеть несколько файлов JPG. В основном я пытался решать проблемы методом проб и ошибок и устранять неполадки на этом веб-сайте. Этот материал причиняет мне боль, поэтому, пожалуйста, помогите новичку.
Заранее спасибо!
Даррен
Ошибка:
Traceback (most recent call last):
File "gan3.py", line 30, in <module>
content = open(os.path.join(path, filename)).read()
File "/Users/darren/miniconda3/lib/python3.7/codecs.py", line 322, in
decode (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0:
invalid start byte
Код:
def loadImages(path):
# return array of images
imagesList = listdir(path)
loadedImages = []
for image in imagesList:
img = PImage.open(path + image)
loadedImages.append(img)
return loadedImages
path = "input_data"
for filename in os.listdir(path):
content = open(os.path.join(path, filename)).read()
with open(path, 'rb') as f:
text = f.read()
Здоровья, ребята!
Хорошо, я отредактировал его, используя последнюю трассировку
По умолчанию open
открывает файлы в текстовом режиме. Когда вы читаете из него, Python автоматически пытается преобразовать ваши данные в строки, что не удается, это не кодированный текст UTF-8.
Если это изображение, вы должны открыть его в двоичном режиме:
content = open(os.path.join(path, filename), mode='rb').read()
Пожалуйста! Кстати, обратите внимание: если вы считаете, что полученный вами ответ решил вашу проблему, вы можете принять его (галочка слева) и/или проголосовать за него (стрелка вверх).
Вы можете использовать библиотеку PIL для открытия файлов изображений:
from PIL import Image
#<----code---->
content = Image.open(os.path.join(path, filename))
Просто слишком много кода, который не имеет отношения к проблеме. Пожалуйста, уменьшите код до минимального, проверяемого примера.