Fr4nK 0 Denunciar post Postado Janeiro 4, 2011 Estou usando python 3.1.3 no windows, eu queria manipular um arquivo txt no python mas eu estou com o seguinte problema, dps de executar no prompt interativo do python as seguintes linhas: arquivo.txt # -*- coding: utf-8 -*- # # VERSÃO 3.02 # a = open("arquivo.txt") linha = a.readlines() print (linha[2]) ai eu ganho a seguinte msg: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\Python31\lib\encodings\cp437.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_map)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\xc3' in position 7: character maps to <undefined> pode ver que ele so da erro na linha que tem acentuação, dps de muito estudo eu "consegui" resolver mais ou menos o problema assim: for x in range(len(linha)): print(x, linha[x].encode("cp437","replace").decode("utf-8","ignore")) o fato que como ta o parâmetro ignore na parte de decodificação o que ele não acha fica com ponto de interrogação, fica até mais legível do que aqueles símbolos loucos que estavam aparecendo, mas o que eu queria mesmo era que as acentuações funcionacem. bom segue agora o que eu ja tentei e não funcionou: colocar # -*- coding: utf-8 -*- no começo do arquivo no caso o erro cp437 eh o enconding do console do windows, tentei com o comando "chcp" mudar pra 1252 e outras variações mas parece que não resolveu. milhares de combinaçoes de encode e decode mudar o formato do arquivo no notepad++ para ansi,utf-8,ucs....mas nada, e outras coisas mais que eu nao lembro. agradeço qualquer ajuda, fico no aguardo... Compartilhar este post Link para o post Compartilhar em outros sites
Ferreira912 0 Denunciar post Postado Janeiro 19, 2011 Uso Windows 7, no meu funciona com esse: # -*- coding: ISO-8859-1 -*- Compartilhar este post Link para o post Compartilhar em outros sites