Antecipadamente peço desculpas caso este não seja uma pergunta adequada para
este fórum.
Gostaria de saber se é possível em um programa (package) escrito na
linguagem C trabalhar com Python e XML. Para ser mais exato, este programa
em C existe alguns arquivos textos todos já lidos por este programa. Porem,
querem empregar o XML nestes arquivos. Ou seja, o programa em C trabalhara
com os arquivos textos ou XML.
Neste sentido, indicaram como parser XML para C o libxml2 (
http://xmlsoft.org/). Porém estou com a idéia de trabalhar com o XML em
python por achar melhor e fazer a integração com o C através do swing.
Devo ressaltar que a palavra package tem o sentido de ser um conjunto de
programas trabalhando em etapas específicas.
Agradeço quaisquer ajudas.
Abraços,
--
Rodrigo Antonio Faccioli
Ph.D Student in Electrical Engineering
University of Sao Paulo - USP
Engineering School of Sao Carlos - EESC
Department of Electrical Engineering - SEL
Intelligent System in Structure Bioinformatics
http://laips.sel.eesc.usp.br
Phone: 55 (16) 3373-9366 Ext 229
Curriculum Lattes - http://lattes.cnpq.br/1025157978990218
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia: |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
| E se você é usuário do BOL lembre-se de cadastrar o |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
> Pessoal,
>
> Antecipadamente peço desculpas caso este não seja uma pergunta
> adequada para
> este fórum.
>
infelizmente esse não é um forum mas sim uma mailing list... mas isso
é uma discussão para outra hora.
> Gostaria de saber se é possível em um programa (package) escrito na
> linguagem C trabalhar com Python e XML. Para ser mais exato, este
> programa
> em C existe alguns arquivos textos todos já lidos por este programa.
> Porem,
> querem empregar o XML nestes arquivos. Ou seja, o programa em C
> trabalhara
> com os arquivos textos ou XML.
>
> Neste sentido, indicaram como parser XML para C o libxml2 (
> http://xmlsoft.org/). Porém estou com a idéia de trabalhar com o XML
> em
> python por achar melhor e fazer a integração com o C através do swing.
usando o elementtree?
sim isso que tu quer fazer é possivel e bem simples. O que eu faria é
simplesmente usar o swing para exportar as funções que a parte que lê
arquivos txt chama para o python usando swing e dentro dese programa
em C tu cria um interpretador python já com o modulo carregado usando
a C API que tem descrita na documentação do python. Leva tempo, mas é
relativamente o que centenas de outros programas fazem.
Vale a pena? Isso é algo que só tu pode responder :)
> Devo ressaltar que a palavra package tem o sentido de ser um
> conjunto de
> programas trabalhando em etapas específicas.
Que bom, pq essa era a unica parte do teu email que eu realmente não
tinha entendido :D
[]'s
Em qualquer discussão sobre XML e Python onde há preocupação com
performance, é obrigatório citar a lxml [1], biblioteca do genial
Martijn Faassen que faz tudo o que a ElementTree faz, e mais um monte
de coisas que ela não faz, só que tudo bem mais rápido por ser baseada
nas bibliotecas C libxml2 e libxslt
[1] http://codespeak.net/lxml/
[ ]s
Luciano
2008/9/10 Luciano Ramalho <ram...@gmail.com>:
>
> Em qualquer discussão sobre XML e Python onde há preocupação com
> performance, é obrigatório citar a lxml [1], biblioteca do genial
> Martijn Faassen que faz tudo o que a ElementTree faz, e mais um monte
> de coisas que ela não faz, só que tudo bem mais rápido por ser baseada
> nas bibliotecas C libxml2 e libxslt
>
> [1] http://codespeak.net/lxml/
Acho que vale a pena citar entao outra alternativa, que seria a libxml2dom[1].
Ela nada mais eh do que um wrapper da libxml2 para uma interface DOM,
o que pode ser mais (ou menos) agradavel na hora de desenvolver.
Vale ressaltar que a lxml usa a licença BSD, e a libxml2dom a LGPL v3,
caso isso seja relevante.
[1] http://www.boddie.org.uk/python/libxml2dom.html
[]s
Eduardo
> Em qualquer discussão sobre XML e Python onde há preocupação com
> performance, é obrigatório citar a lxml [1], biblioteca do genial
> Martijn Faassen que faz tudo o que a ElementTree faz, e mais um monte
> de coisas que ela não faz, só que tudo bem mais rápido por ser baseada
> nas bibliotecas C libxml2 e libxslt
>
> [1] http://codespeak.net/lxml/
os resultados dos benchmarks na pagina da lxml mostram que ela é bem
mais lenta para fazer parsing de xml do que a cElementTree o que se tu
vai consumir webservices significa que usar a cElementTree é mais
rápido do que a lxml.
http://codespeak.net/lxml/performance.html
[As partes desta mensagem que não continham texto foram removidas]
Acho que ele quis dizer "forum" como lugar de discussão. Pode ser uma
distorção do conceito de lugar, mas não acho que esteja errado.
>
>> Gostaria de saber se é possível em um programa (package) escrito na
>> linguagem C trabalhar com Python e XML. Para ser mais exato, este
>> programa
>> em C existe alguns arquivos textos todos já lidos por este programa.
>> Porem,
>> querem empregar o XML nestes arquivos. Ou seja, o programa em C
>> trabalhara
>> com os arquivos textos ou XML.
>>
>> Neste sentido, indicaram como parser XML para C o libxml2 (
>> http://xmlsoft.org/). Porém estou com a idéia de trabalhar com o XML
>> em
>> python por achar melhor e fazer a integração com o C através do swing.
>
> usando o elementtree?
>
> sim isso que tu quer fazer é possivel e bem simples. O que eu faria é
> simplesmente usar o swing para exportar as funções que a parte que lê
> arquivos txt chama para o python usando swing e dentro dese programa
> em C tu cria um interpretador python já com o modulo carregado usando
> a C API que tem descrita na documentação do python. Leva tempo, mas é
> relativamente o que centenas de outros programas fazem.
>
> Vale a pena? Isso é algo que só tu pode responder :)
É dificil dizer sem saber outros detalhes (formato do xml, tamanho dos
arquivos, etc) mas às vezes é mais fácil fazer uma transformação XSLT
que mapeia o formato xml no formato texto e daí chamar o programa
original. Você pode fazer um script python para automatizar esse
processo, assim a sugestão não fica off-topic ;-)
[]s
Carlos