4
>>> from networkx import *
5
>>> from networkx.operators import *
12
set up some test networks
14
>>> G=Graph(name="test")
15
>>> e=[('a','b'),('b','c'),('c','d'),('d','e'),('e','f'),('a','f')]
16
>>> G.add_edges_from(e)
18
>>> DG=G.to_directed()
19
>>> XG=XGraph(multiedges=True,selfloops=True)
20
>>> XG.add_edges_from([(1,2,5),(1,2,5),(1,2),(3,3,42)])
22
>>> (fd,fname)=tempfile.mkstemp()
26
>>> write_adjlist(G,fname);
27
>>> H=read_adjlist(fname);
28
>>> H2=read_adjlist(fname)
29
>>> H is not H2 # they should be different graphs
31
>>> sorted(H.nodes())==sorted(G.nodes())
33
>>> sorted(H.edges())==sorted(G.edges())
38
>>> write_adjlist(DG,fname);
39
>>> H=read_adjlist(fname,create_using=DiGraph());
40
>>> H2=read_adjlist(fname,create_using=DiGraph());
41
>>> H is not H2 # they should be different graphs
43
>>> sorted(H.nodes())==sorted(DG.nodes())
45
>>> sorted(H.edges())==sorted(DG.edges())
50
>>> Gint=convert_node_labels_to_integers(G)
51
>>> write_adjlist(Gint,fname);
52
>>> H=read_adjlist(fname,nodetype=int);
53
>>> H2=read_adjlist(fname,nodetype=int);
54
>>> H is not H2 # they should be different graphs
56
>>> sorted(H.nodes())==sorted(Gint.nodes())
58
>>> sorted(H.edges())==sorted(Gint.edges())
64
ASCII Multiline Adjacency List
65
------------------------------
67
set up some test networks
69
>>> G=Graph(name="test")
70
>>> e=[('a','b'),('b','c'),('c','d'),('d','e'),('e','f'),('a','f')]
71
>>> G.add_edges_from(e)
73
>>> DG=G.to_directed()
74
>>> DG.delete_edge(('b','a'))
75
>>> DG.delete_edge(('b','c'))
76
>>> XG=XGraph(multiedges=True,selfloops=True)
77
>>> XG.add_edges_from([(1,2,5),(1,2,5),(1,2),(3,3,42)])
79
>>> (fd,fname)=tempfile.mkstemp()
83
>>> write_multiline_adjlist(G,fname);
84
>>> H=read_multiline_adjlist(fname);
85
>>> H2=read_multiline_adjlist(fname)
86
>>> H is not H2 # they should be different graphs
88
>>> sorted(H.nodes())==sorted(G.nodes())
90
>>> sorted(H.edges())==sorted(G.edges())
95
>>> write_multiline_adjlist(DG,fname);
96
>>> H=read_multiline_adjlist(fname,create_using=DiGraph());
97
>>> H2=read_multiline_adjlist(fname,create_using=DiGraph());
98
>>> H is not H2 # they should be different graphs
100
>>> sorted(H.nodes())==sorted(DG.nodes())
102
>>> sorted(H.edges())==sorted(DG.edges())
107
>>> write_multiline_adjlist(Gint,fname);
108
>>> H=read_multiline_adjlist(fname,nodetype=int);
109
>>> H2=read_multiline_adjlist(fname,nodetype=int);
110
>>> H is not H2 # they should be different graphs
112
>>> sorted(H.nodes())==sorted(Gint.nodes())
114
>>> sorted(H.edges())==sorted(Gint.edges())
119
>>> write_multiline_adjlist(XG,fname)
120
>>> H=read_multiline_adjlist(fname,nodetype=int,edgetype=int,create_using=XGraph(selfloops=True,multiedges=True));
121
>>> H2=read_multiline_adjlist(fname,nodetype=int,edgetype=int,create_using=XGraph(selfloops=True,multiedges=True));
122
>>> H is not H2 # they should be different graphs
124
>>> sorted(H.nodes())==sorted(XG.nodes())
126
>>> sorted(H.edges())==sorted(XG.edges())
132
Filehandling/Compression/Uncompression
133
-------------------------
135
>>> (fd,fname)=tempfile.mkstemp()
136
>>> fh=open(fname,'w')
137
>>> write_adjlist(G,fh)
139
>>> fh=open(fname,'r')
140
>>> H=read_adjlist(fh)
141
>>> sorted(G.nodes())==sorted(H.nodes())
143
>>> sorted(G.edges())==sorted(H.edges())
151
>>> (fd,fname)=tempfile.mkstemp(suffix='.gz')
152
>>> write_adjlist(G,fname)
153
>>> H=read_adjlist(fname)
154
>>> sorted(G.nodes())==sorted(H.nodes())
156
>>> sorted(G.edges())==sorted(H.edges())
161
bz2 (not in standard distribution? so not included here)
163
(fd,fname)=tempfile.mkstemp(suffix='.bz2')
164
write_adjlist(G,fname)
165
H=read_adjlist(fname)
166
sorted(G.nodes())==sorted(H.nodes())
168
sorted(G.edges())==sorted(H.edges())