from cStringIO import StringIO import cPickle class A(object): pass def fg(module, clsname): print 'Finding %s.%s' % (module, clsname) return A pickled = cPickle.dumps(A(), 2) up = cPickle.Unpickler(StringIO(pickled)) up.find_global = fg up.load()