E
Edward C. Jones
Here is a little piece of Python that produces a deeply nested tuple:
deep = 'x'
for i in range(50):
deep = (deep,)
This is a perfectly ordinary Python object. It can be pickled and unpickled:
s = cPickle.dumps(deep)
deep2 = cPickle.loads(s)
But "eval" (and "compiler.parse") fail on "str(deep)" because some stack
gets too big. Is there some deep reason why cPickle can reconstruct
"deep" from a string while eval can't?
deep = 'x'
for i in range(50):
deep = (deep,)
This is a perfectly ordinary Python object. It can be pickled and unpickled:
s = cPickle.dumps(deep)
deep2 = cPickle.loads(s)
But "eval" (and "compiler.parse") fail on "str(deep)" because some stack
gets too big. Is there some deep reason why cPickle can reconstruct
"deep" from a string while eval can't?