Source code for dipy.io.pickles
"""Load and save pickles"""
import pickle
[docs]
def save_pickle(fname, dix):
    """Save `dix` to `fname` as pickle.
    Parameters
    ----------
    fname : str
       filename to save object e.g. a dictionary
    dix : str
       dictionary or other object
    Examples
    --------
    >>> import os
    >>> from tempfile import mkstemp
    >>> fd, fname = mkstemp() # make temporary file (opened, attached to fh)
    >>> d={0:{'d':1}}
    >>> save_pickle(fname, d)
    >>> d2=load_pickle(fname)
    We remove the temporary file we created for neatness
    >>> os.close(fd) # the file is still open, we need to close the fh
    >>> os.remove(fname)
    See Also
    --------
    dipy.io.pickles.load_pickle
    """
    out = open(fname, "wb")
    pickle.dump(dix, out, protocol=pickle.HIGHEST_PROTOCOL)
    out.close() 
[docs]
def load_pickle(fname):
    """Load object from pickle file `fname`.
    Parameters
    ----------
    fname : str
       filename to load dict or other python object
    Returns
    -------
    dix : object
       dictionary or other object
    Examples
    --------
    dipy.io.pickles.save_pickle
    """
    inp = open(fname, "rb")
    dix = pickle.load(inp)
    inp.close()
    return dix