write_gml#
- write_gml(G, path, stringizer=None)[source]#
将图
G
以 GML 格式写入文件或文件句柄path
。- 参数:
- GNetworkX 图
要转换为 GML 格式的图。
- path文件名或文件句柄
要写入的文件名或文件句柄。名称以 .gz 或 .bz2 结尾的文件将被压缩。
- stringizer可调用对象,可选
一个
stringizer
,用于将非整型/非浮点型/非字典值转换为字符串。如果它无法将值转换为字符串,则应引发ValueError
来指示。默认值:None。
- 抛出:
- NetworkXError
如果
stringizer
无法将值转换为字符串,或者在stringizer
为 None 时要转换的值不是字符串。
备注
名为 'directed'、'multigraph'、'node' 或 'edge' 的图属性,名为 'id' 或 'label' 的节点属性,名为 'source' 或 'target'(如果
G
是多重图,则为 'key')的边属性将被忽略,因为这些属性名用于编码图结构。GML 文件使用 7 位 ASCII 编码存储,任何扩展 ASCII 字符 (iso8859-1) 都显示为 HTML 字符实体。如果不指定
stringizer
/destringizer
,代码能够按照 GML 规范要求写入int
/float
/str
/dict
/list
数据。对于写入其他数据类型以及读取除str
之外的数据,您需要显式提供stringizer
/destringizer
。请注意,虽然我们允许从文件中读取非标准 GML,但我们确保写入的是标准 GML 格式。特别是,属性名称中不允许使用下划线。有关 GML 文件格式的更多文档,请参阅 GML url。
有关更多详细信息,请参阅模块文档字符串
networkx.readwrite.gml
。示例
>>> G = nx.path_graph(4) >>> nx.write_gml(G, "test.gml")
文件名以 .gz 或 .bz2 结尾的文件将被压缩。
>>> nx.write_gml(G, "test.gml.gz")