Mercurial > repos > shellac > sam_consensus_v3
diff env/lib/python3.9/site-packages/networkx/readwrite/gpickle.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/lib/python3.9/site-packages/networkx/readwrite/gpickle.py Mon Mar 22 18:12:50 2021 +0000 @@ -0,0 +1,90 @@ +""" +************** +Pickled Graphs +************** +Read and write NetworkX graphs as Python pickles. + +"The pickle module implements a fundamental, but powerful algorithm +for serializing and de-serializing a Python object +structure. "Pickling" is the process whereby a Python object hierarchy +is converted into a byte stream, and "unpickling" is the inverse +operation, whereby a byte stream is converted back into an object +hierarchy." + +Note that NetworkX graphs can contain any hashable Python object as +node (not just integers and strings). For arbitrary data types it may +be difficult to represent the data as text. In that case using Python +pickles to store the graph data can be used. + +Format +------ +See https://docs.python.org/3/library/pickle.html +""" + +__all__ = ["read_gpickle", "write_gpickle"] + +from networkx.utils import open_file + +import pickle + + +@open_file(1, mode="wb") +def write_gpickle(G, path, protocol=pickle.HIGHEST_PROTOCOL): + """Write graph in Python pickle format. + + Pickles are a serialized byte stream of a Python object [1]_. + This format will preserve Python objects used as nodes or edges. + + Parameters + ---------- + G : graph + A NetworkX graph + + path : file or string + File or filename to write. + Filenames ending in .gz or .bz2 will be compressed. + + protocol : integer + Pickling protocol to use. Default value: ``pickle.HIGHEST_PROTOCOL``. + + Examples + -------- + >>> G = nx.path_graph(4) + >>> nx.write_gpickle(G, "test.gpickle") + + References + ---------- + .. [1] https://docs.python.org/3/library/pickle.html + """ + pickle.dump(G, path, protocol) + + +@open_file(0, mode="rb") +def read_gpickle(path): + """Read graph object in Python pickle format. + + Pickles are a serialized byte stream of a Python object [1]_. + This format will preserve Python objects used as nodes or edges. + + Parameters + ---------- + path : file or string + File or filename to write. + Filenames ending in .gz or .bz2 will be uncompressed. + + Returns + ------- + G : graph + A NetworkX graph + + Examples + -------- + >>> G = nx.path_graph(4) + >>> nx.write_gpickle(G, "test.gpickle") + >>> G = nx.read_gpickle("test.gpickle") + + References + ---------- + .. [1] https://docs.python.org/3/library/pickle.html + """ + return pickle.load(path)