networkx使用子图

时间:2015-10-28 00:17:00

标签: python-2.7 networkx dot

我有一个带有节点和边列表的简单点文件。 每个节点都是网络设备。设备通过接口相互连接,所以我使用头尾标签作为接口名称:

"172.16.3.205" -- "172.16.3.178" [taillabel="27", headlabel="1:16"];

我试图找到2个给定节点之间的所有简单路径并获取节点列表和正确的接口:

import networkx as nx
G=nx.read_dot('out.gv')
for path in nx.all_simple_paths(G,source='172.16.3.178',target='172.16.3.207'):
    path = G.subgraph(path)
    path.edges(data=True)

我得到这样的东西:

[('172.16.3.178', '172.16.3.205', {'taillabel': '"27"', 'headlabel': '"1:16"'}), ('172.16.3.203', '172.16.3.205', {'taillabel': '"27"', 'headlabel': '"26"'}), ('172.16.3.203', '172.16.3.207', {'taillabel': '"26"', 'headlabel': '"28"'})]

' 172.16.3.178'转换为' 172.16.3.205'。 有没有办法保存订单?

P.S。实际上,我并不需要绘制图表。我只需要一个列表(或更有用的)节点,其中的接口涉及路径,如下所示: [(' 172.16.3.178',{' 1:16'}),(' 172.16.3.203',{' 27' ,' 26'}),(' 172.16.3.205',{' 26',' 27'}),(&#39 ; 172.16.3.207',{' 28'})]

0 个答案:

没有答案