Python Networkx-如何更改边缘id';s
我正在使用networkx创建graphml文件。我有平行链接,所以我使用了多重有向图函数。生成文件后,我在中打开它,但我没有在节点之间创建的所有连接。我仅有的连接(边)是为平行链接创建的连接。我意识到这是因为graphml文件对于所有边只有两个边ID(“0”和“1”)。我修改了文件并为每个边设置了唯一的id。例如:Python Networkx-如何更改边缘id';s,python,networkx,graphml,Python,Networkx,Graphml,我正在使用networkx创建graphml文件。我有平行链接,所以我使用了多重有向图函数。生成文件后,我在中打开它,但我没有在节点之间创建的所有连接。我仅有的连接(边)是为平行链接创建的连接。我意识到这是因为graphml文件对于所有边只有两个边ID(“0”和“1”)。我修改了文件并为每个边设置了唯一的id。例如: <edge id="0" source="Hostname_A" target="Hostname_B"> <data key="d1">100GE1/
<edge id="0" source="Hostname_A" target="Hostname_B">
<data key="d1">100GE1/0/0</data>
<data key="d2">100GE1/0/0</data>
</edge>
<edge id="1" source="Hostname_A" target="Hostname_B">
<data key="d1">100GE1/0/1</data>
<data key="d2">100GE1/0/1</data>
</edge>
<edge id="2" source="Hostname_B" target="Hostname_C">
<data key="d1">100GE1/1/0</data>
<data key="d2">100GE1/0/0</data>
</edge>
但我意识到它没有改变边缘id,只是为该边缘添加了另一个属性:
<edge id="0" source="Hostname_A" target="Hostname_B">
<data key="d1">100GE1/0/0</data>
<data key="d2">100GE1/0/0</data>
<data key="d3">1</data> <-- This is the idcount value
</edge>
100GE1/0/0
100GE1/0/0
1解决了这个问题。如果需要更改多向图中的“边ID”,则必须使用如下“键”属性:
g.add_edge(host,neighbor,source = intsource, destination = intdest, id=idcount)
g.add_edge(host,neighbor,key=idcount) <-- idcount is an int value
g.add\u边缘(主机、邻居、密钥=idcount)