write_gml#

write_gml(G, path, stringizer=None)[source]#

将图 G 以 GML 格式写入文件或文件句柄 path

Parameters:
GNetworkX 图

要转换为 GML 的图。

path文件名或文件句柄

要写入的文件名或文件句柄。文件名以 .gz 或 .bz2 结尾的文件将被压缩。

stringizer可调用对象, 可选

一个 stringizer ,用于将非 int/非 float/非 dict 值转换为字符串。如果它无法将一个值转换为字符串,应抛出 ValueError 以表示无法转换。默认值:None。

Raises:
NetworkXError

如果 stringizer 无法将一个值转换为字符串,或者要转换的值不是字符串而 stringizer 为 None。

Notes

名为 ‘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 网址

有关更多详细信息,请参阅模块文档字符串 networkx.readwrite.gml

Examples

>>> G = nx.path_graph(4)
>>> nx.write_gml(G, "test.gml")

以 .gz 或 .bz2 结尾的文件名将被压缩。

>>> nx.write_gml(G, "test.gml.gz")