Когда вы читаете файл, строки по-прежнему имеют байтовый тип, закодированный в utf
или ascii
.
В питоне encode
делает строку равной byte type
, и ваши данные уже b
(тип байта).
Так что невозможно, чтобы byte
снова кодировал в Unicode byte
в python. Это делает эту ошибку.
Выглядит как читаемый в интерпретаторе Python (он просто отображается для читаемого человеком), но реальные данные кодируются в байтовом формате Unicode.
Таким образом, использование decode
превращает bytestrem в текст Unicode в интерпретаторе python, он обрабатывает текст без b
Итак, все будет хорошо работать с изменением encode
на decode
.
trainLabels = [k.decode("utf-8") for k in labels]