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

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

[ Hits: 20.610 ]

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

GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

Chromium e Firefox - Forma prática de abrir links em nova aba

Tema Escuro no Chrome Developer Tools (Dark Mode)

Como instalar Node.js, Phonegap e Cordova no Debian 9

Jogando Xadrez através da Internet com o Linux

Leitura recomendada

Python: Descompilando bytecode

Remover diretórios recursivamente em Python

Python 3.0: Gravando dicionários em arquivos

Expandindo o Til pelo Diretório Inicial do Usuário 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