Режим по умолчанию для open()
- rt
, который читается в текстовом режиме. Используйте rb
для чтения в двоичном режиме. В данный момент декодер получает декодированный текст, который ему может не понравиться.
Ошибка UnicodeDecodeError
, вероятно, возникает из-за того, что устройство вывода (например, консоль) не поддерживает кодировку.
В командной строке выводится ошибка:
AttributeError: у объекта 'str' нет атрибута 'decode'
, что выглядит более корректной ошибкой , Я также использовал shebang
#! / Usr / bin / env python3 -X utf8
, который Python выводит UTF-8, чтобы получить AttributeError
.
Измените строку:
with open("file.html") as fp:
на
with open("file.html", "rb") as fp: