Конвертировать Digraph в StringIO с графвизом - PullRequest
0 голосов
/ 17 декабря 2018

Кто-нибудь знает хитрость, как преобразовать Digraph в io.StringIO png?Единственный код, который я смог найти, - это сохранить его на диск, но я бы хотел исключить использование диска и вместо этого обработать его в памяти:

from graphviz import Digraph
import io

dot = Digraph(comment='The Round Table')
dot.node('A', 'King Arthur')

# instead of this...
dot.render('test-output/round-table.gv', view=True)

# ... I need something like this:
data = io.StringIO()
dot.export_to_png(dot)

1 Ответ

0 голосов
/ 17 декабря 2018

Как то так?

from graphviz import Digraph
import io

dot = Digraph(comment='The Round Table', format='gv')
dot.node('A', 'King Arthur')

data = io.StringIO()

print("writing")
data.write( dot.pipe().decode('utf-8') )

print("reading")
data.seek(0)
print(data.read())

# print(data.getvalue())


data.close()
...