Mayron Cachina Postado Novembro 13, 2007 Denunciar Share Postado Novembro 13, 2007 Pessoal, estou começando a ver a linguagem agora, será que alguém, poderia me dar uma força ......#! /usr/bin/env python import xml.sax.saxutils as saxutils f = open('a.txt') try: print saxutils.unescape(f.read()) finally: f.close() o arquivo a.txt > < á á â â à àmais ele só converte o > que é < e o < que é o >participo da lista python-brasil, mandaram eu da uma estudadinha no htmlentitydefscomo sou novato na linguagem, estou apanhando um pouco, se alguém poder me ajudar, agradeço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 14, 2007 Denunciar Share Postado Novembro 14, 2007 Você deu uma olhada no help da linguagem?unescape( data[, entities]) Unescape "&", "<", and ">" in a string of data. You can unescape other strings of data by passing a dictionary as the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value.Ou seja, esta função por padrão *só* troca mesmo estes dois e o &. Para os demais você pode fazer:entidades = {"á" : "á", "â" : "â", "à" : "à"} f = open('a.txt') try: print saxutils.unescape(f.read(), entidades) finally: f.close()Certo? ;)GraymalkinPS: O que o título do tópico tem a ver com o isso? :huh: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mayron Cachina Postado Novembro 14, 2007 Autor Denunciar Share Postado Novembro 14, 2007 então eu crio em "entidades" a minha coleção... agora entendi....é mesmo n tem nada haver agora que eu vi, pois esses são caracteres especiais não é?Desculpe a ignorancia....vou tentar fazer, muito obrigado!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 14, 2007 Denunciar Share Postado Novembro 14, 2007 Exatamente.Bom, então vou trocar o título para referência futura.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mayron Cachina Postado Novembro 15, 2007 Autor Denunciar Share Postado Novembro 15, 2007 Resolvi o que eu queria com esse código, obrigado pela ajuda!#! /usr/bin/env python # -*- coding: iso-8859-15 -*- import htmlentitydefs import re import cgi #Informações origem = raw_input("Local do arquivo do arquivo original: ") fim = raw_input("Local do arquivo final: ") pattern = re.compile("&(\w+?);") def descape_entity(m, defs=htmlentitydefs.entitydefs): # callback: translate one entity to its ISO Latin value try: return defs[m.group(1)] except KeyError: return m.group(0) # use as is def descape(string): return pattern.sub(descape_entity, string) #Abre os arquivos para manipulação de dados f = open(origem) w = open(fim,'w') #Operações try: novo = descape(f.read()) w.write(novo) finally: f.close() w.close() Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mayron Cachina
Pessoal, estou começando a ver a linguagem agora, será que alguém, poderia me dar uma força ......
o arquivo a.txtmais ele só converte o > que é < e o < que é o >
participo da lista python-brasil, mandaram eu da uma estudadinha no htmlentitydefs
como sou novato na linguagem, estou apanhando um pouco, se alguém poder me ajudar, agradeço!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.