[Python-es] Una pregunta sobre la conversion dot => xdot
Carlos Zuniga
carlos.zun en gmail.com
Mie Oct 10 01:37:45 CEST 2012
2012/10/9 Olemis Lang <olemis en gmail.com>:
> Hola a tod en s !
>
> Recientemente necesito convertir unos diagramas en formato .dot para
> obtener la misma representación en formato .xdoc . Busqué una librería
> q permitiera hacer esto sin ejecutar los comandos de Graphviz en un
> proceso o hilo aparte . Finalmente encontré yapgvb [1]_ ... pero el
> siguiente ejemplo no me funciona .
>
> {{{
> #!py
>
> >>> from yapgvb import Graph
> >>> from cStringIO import StringIO
> >>> gdot = StringIO("digraph G {Hello->World}")
> >>> g = Graph.read(gdot)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/usr/lib/python2.6/dist-packages/yapgvb/__init__.py", line 253, in read
> newgraph = cls(input_stream_or_filename)
> File "/usr/lib/python2.6/dist-packages/yapgvb/__init__.py", line
> 551, in __init__
> GraphBase.__init__(self, arg)
> File "/usr/lib/python2.6/dist-packages/yapgvb/__init__.py", line
> 283, in __init__
> CGraph.__init__(self,*args,**keywords)
> File "/usr/lib/python2.6/dist-packages/yapgvb/__init__.py", line
> 187, in cgraph_init_wrapper
> CGraph.__original_init__(self, *a,**b)
> Boost.Python.ArgumentError: Python argument types in
> CGraph.__init__(Graph, cStringIO.StringI)
> did not match C++ signature:
> __init__(_object*, _IO_FILE*)
> __init__(_object*, boost::python::str, agraph_type)
> __init__(_object*, boost::python::str)
> __init__(_object*)
>
> }}}
>
> Preguntas
>
> - ¿Conocen alguna forma de hacer funcionar este ejemplo y
> pasar el código .dot a graphviz utilizando un objeto StringIO o
> equivalente (i.e. sin utilizar el sistema de archivos ;) ?
Parece que su constructor también acepta cadenas de python, has
intentado simplemente:
>>> gdot = "digraph G {Hello->World}"
>>> g = Graph.read(gdot)
Saludos
--
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.
Más información sobre la lista de distribución Python-es