我正在尝试使用pymetis在点文件中对图表进行分区。 Pymetis采用邻接矩阵。如何使用有向图读取点文件以生成可以传递给pymetis.part_graph()的邻接矩阵?
点文件有这种格式的图表:
digraph {
a -> b[label="0.2",weight="0.2"];
a -> c[label="0.4",weight="0.4"];
c -> b[label="0.6",weight="0.6"];
c -> e[label="0.6",weight="0.6"];
e -> e[label="0.1",weight="0.1"];
e -> b[label="0.7",weight="0.7"];
}
这是我到目前为止读取点文件的代码:
import os
import dot_tools
file = open("test.dot", 'r')
text = file.read()
tree = dot_tools.parse(text)
print tree
输出:
1:Graphs
3:Graph
0:digraph
0:graph_1001
1:Stmts
6:Edges
3:->
0:a
0:b
2:Attrs
2:=
0:label
0:0.2
2:=
0:weight
0:0.2
3:->
0:a
0:c
2:Attrs
2:=
0:label
0:0.4
2:=
0:weight
0:0.4
3:->
0:c
0:b
2:Attrs
2:=
0:label
0:0.6
2:=
0:weight
0:0.6
3:->
0:c
0:e
2:Attrs
2:=
0:label
0:0.6
2:=
0:weight
0:0.6
3:->
0:e
0:e
2:Attrs
2:=
0:label
0:0.1
2:=
0:weight
0:0.1
3:->
0:e
0:b
2:Attrs
2:=
0:label
0:0.7
2:=
0:weight
0:0.7
我想知道是否有任何模块可以从点文件中的有向图创建邻接矩阵。