Я пытаюсь прочитать файл и преобразовать строку в UTF-8
строку, чтобы удалить некоторые не utf-8
символов в строке файла,прочитать файл и попытаться удалить все не UTF-8 символов
file_str = open(file_path, 'r').read()
file_str = file_str.decode('utf-8')
, но я получил следующее сообщение об ошибке,
AttributeError: 'str' object has no attribute 'decode'
Обновление: Я попробовал код, предложенный ответ,
file_str = open(file_path, 'r', encoding='utf-8').read()
, но это не устранило символы не utf-8
, так как их удалить?
Вы используете python 3? В этом случае все строки являются уже юникодными объектами. Вам не нужно расшифровывать. – Sid
Вы используете Python 3; 'open()' возвращает объект файла, который * уже декодирован в Unicode * для вас. Python 3 'str' - это тип Unicode, он не имеет метода' decode() ', потому что вы не можете декодировать Unicode дальше. –
Возможный дубликат объекта ['str' не имеет атрибута 'decode' в Python3] (http://stackoverflow.com/questions/26125141/str-object-has-no-attribute-decode-in-python3) – Reti43