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

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

[ Hits: 16.282 ]

Blog: https://www.instagram.com/alexabolada/

 


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

Instalando Docker no Debian 10 Buster

Como desligar a tela via linha de comando

InstaPy: Error, unable to determine correct filename for 64bit linux [Resolvido]

Slack - Ferramenta de comunicação em equipe (PC, Android e iOS)

Baixando uma lista de downloads com o wget

Leitura recomendada

Usando o Yowsup para enviar comandos ao Shell

Remover diretórios recursivamente em Python

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

Python 3.0: Gravando dicionários em arquivos

Python: Descompilando bytecode

  

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