我有一些点文件(有向图)需要在Python中读取,并从节点中提取一些值来填充我的数据结构。我看到Python有两个graphviz包:graphviz和pygraphviz。这两者有什么很大的区别吗?从文档的快速滚动来看,它们似乎做了几乎相同的事情。我将在Python 2.7.X中使用它来完成上述任务。
发布于 2016-06-18 13:35:07
graphviz是一个轻量级的库,它调用graphviz作为一个子进程来执行所有操作并产生输出。这个库是生成SVG或PNG输出的一种快速而简单的方法。
pygraphviz包含完整的C绑定,它使用graphviz作为库,并公开了graphviz的所有内部功能,如添加/删除节点/边。但它在部署时具有更高的复杂性,因为pip需要编译C绑定并找到所有的库。
在您的例子中,由于您需要读取和操作点文件,因此看起来您必须使用pygraphviz。另一个有趣的替代方案是http://pypi.python.org/pypi/pydot,它是一个纯python点解析器。
免责声明:我是有偏见的,因为我对pygraphviz贡献了(一点点)。
https://stackoverflow.com/questions/37353199
复制相似问题