[pypy-dev] [mdione at grulic.org.ar: modifying locals]
Marcos Dione
mdione at grulic.org.ar
Thu Oct 15 16:50:15 CEST 2015
On Thu, Oct 15, 2015 at 04:47:57PM +0200, Marcos Dione wrote:
> On Thu, Oct 15, 2015 at 04:14:02PM +0200, Armin Rigo wrote:
> > Hi Marcos,
> >
> > On Wed, Oct 14, 2015 at 12:58 PM, Marcos Dione <mdione at grulic.org.ar> wrote:
> > > inception_locals= sys._getframe().f_back.f_locals
> > > inception_locals.update (locals)
> >
> > I think this works if you *assign* to f_locals. When you only *read*
> > f_locals, you get a copy of the dict. The assignment is needed to
> > write the new values back into the frame's real ("optimized") locals:
> >
> > inception_locals= sys._getframe().f_back.f_locals
> > inception_locals.update (locals)
> > sys._getframe().f_back.f_locals = inception_locals
>
> AttributeError: attribute 'f_locals' of 'frame' objects is not writable
>
> so no cigar here. on the other hand, this works:
>
> http://mike.verdone.ca/media/Dangerously%20Advanced%20Python.pdf [p21]
>
> so I'll keep investigating :-]
maybe context managers add a stack frame/do something with them
internally?
--
(Not so) Random fortune:
02:46 < daemonkeeper> StyXman: Every good system administrator needs to
configure sendmail at least once, a real good one won't do it a second
time
More information about the pypy-dev
mailing list