Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]

Publicado por Fábio Berbert de Paula em 14/05/2020

[ Hits: 18.490 ]

Blog: https://fabio.automatizando.dev

 


Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]



Enfrentei esse problema ao criar um script em Python para ler um arquivo cujo charset era ISO8859-1. O Python esperava por um arquivo UTF-8.

Linha de código que abre um arquivo para leitura:

f = open('charset-iso.txt', 'r')

Ao executar o script, a linha acima apresentava o seguinte erro:

Traceback (most recent call last):
  File "xxxxx.py", line x, in <module>
    lines = f.readlines()
  File "/usr/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 0xe9 in position xxx: invalid continuation byte

Solução

Definir o charset do arquivo na linha de abertura do ponteiro:

f = open('charset-iso.txt', 'r', encoding='iso8859-1')

Resolvido!

Outras dicas deste autor

Integrando o wget com o Netscape

Imagens flutuantes no Desktop

O comando nohup

Fazer ModemManager ignorar ttyACM [Resolvido]

Meu servidor Conectiva Linux se conecta, mas não encontra sites na Internet

Leitura recomendada

Expandindo o Til pelo Diretório Inicial do Usuário em Python

Python: Descompilando bytecode

Remover diretórios recursivamente em Python

Python 3.0: Gravando dicionários em arquivos

Usando o Yowsup para enviar comandos ao Shell

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts