[Twisted-Python] Re: pickle apparently doesn't go with curry ...
Michael Hudson
mwh at python.net
Wed Nov 13 03:50:50 MST 2002
jml at mumak.net (Jonathan M. Lange) writes:
> >>> def foo():
> =2E.. pass
> =2E..
> >>> import cPickle
> >>> cPickle.dump(foo, open('testpickle', 'w'))
> >>> bar =3D cPickle.load(open('testpickle'))
>
> I'd imagine this would work in most versions of python, given that
> people have been pickling objects for countless generations.
Oops, my mistake. But note that whats been pickled is a reference to
__main__.foo, not the function object itself:
$ python2
Python 2.2.1 (#1, Apr 9 2002, 13:10:27)
[GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def foo():
... pass
...
>>> import pickle
>>> pickle.dump(foo, open("/tmp/t", "w"))
>>>
$ python2
Python 2.2.1 (#1, Apr 9 2002, 13:10:27)
[GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>> foo = 1
>>> pickle.load(open("/tmp/t"))
1
>>>
so
def f():
def g():
return 1
return g
pickle.dump(f(), ...)
still isn't going to work... (without fiddling).
Cheers,
M.
More information about the Twisted-Python
mailing list