#!/usr/bin/python import pickle from pprint import * from StringIO import * class Node(object): def __init__(self, i): self.i = i def __cmp__(self, other): return cmp(self.i, other.i) def __hash__(self): return hash(self.i) n = Node(12) n.next_nodes = set((n,)) f = StringIO() pickle.dump(n, f) f1 = StringIO(f.getvalue()) n1 = pickle.load(f1) pprint(n) pprint(n1) assert n == n1