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

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

[ Hits: 20.585 ]

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

Verificando IPs ativos em determinada rede com fping

Treinamento oficial SuSE/Novell

Ferramentas CASE para Linux

Graduação em TI via EAD - Curso gratuito de 600h pela CECIERJ

thefuck - seu "personal" corretor de comandos

Leitura recomendada

Python 3.0: Gravando dicionários em arquivos

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

Python: Descompilando bytecode

Remover diretórios recursivamente em Python

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