存储 networkx 图对象

Store networkx graph object

我有一个巨大的图表,其中包含大约 5000 个节点,是我用 networkX 制作的。每次执行脚本时创建此图大约需要 30 秒。在这段相对较长的时间后,我可以 运行 我的分析 shortest_path 等等。

我的问题是,有没有什么方法可以将这个图的对象存储在文件或类似的东西中,每次我 运行 我的脚本,networkX 读取那个文件并加载我的所有图?

您可以使用 gpickle 来做到这一点。假设您的图表用 G 表示,您可以通过以下方式保存它:

nx.write_gpickle(G,'myGraph.gpickle')

并加载

G = nx.read_gpickle('myGraph.gpickle')

https://networkx.org/documentation/stable//reference/readwrite/gpickle.html#pickled-graphs