2012/10/9 Olemis Lang <ole...@gmail.com>: > Hola a tod@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. _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/