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

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

[ Hits: 19.906 ]

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

Como passar parâmetros para um alias no Bash

7 cursos gratuitos - Python, JavaScript, Linux e Segurança

Contar e ordenar a quantidade de ocorrências de cada linha em um arquivo

Descobrindo o PageRank de um site via linha de comando

Convertendo texto em arte ASCII com Vim + Figlet

Leitura recomendada

Usando o Yowsup para enviar comandos ao Shell

Python 3.0: Gravando dicionários em arquivos

Python: Descompilando bytecode

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

Remover diretórios recursivamente em Python

  

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