Конвертировать Digraph в StringIO с графвизом
Кто-нибудь знает хитрость, как конвертировать 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 ответ
Решение
Что-то вроде этого?
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()