python - 使用 graphviz 将 Digraph 转换为 StringIO
问题描述
有谁知道如何将aDigraph
转换为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)
解决方案
像这样的东西?
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()
推荐阅读
- python - 在 Pygame 中移动子弹
- python - Django FilterSet field lookup dictionary format
- flutter - 如何实现自定义或 Flutter 加载指示器
- python - 如何在 Python 中为排列添加前缀和后缀?
- javascript - react markdown 渲染过多
- azure-devops - 限制同时 Azure Pipelines 阶段
- python - 在python中查找函数的根
- ios - 如何将数据添加到 tableView 并重新加载?
- sql-server - SSRS 共享数据无法连接某些报表
- websocket - esp8266 websockets type == WStype_TEXT 总是假的,即使你正在发送数据