[Python-Dev] Non implementation dependent access to calling scope
Michael Foord
fuzzyman at voidspace.org.uk
Sat Mar 10 13:19:22 CET 2007
Hello all,
I realise that this may be more relevant to Python ideas, in which case
feel free to ignore this (and my apologies).
I occasionally see code looking (something) like :
calling_scope = sys._getframe(1).f_globals['__name__']
This looks and smells like a hack (not least because of the warning in
the documentation about _getframe), plus stack frames are an
implementation detail so this code is broken on IronPython. This makes
me sad.
It would be great to have a specified way to obtain [a read only view on
(?)] the locals and globals from the calling scope. Perhaps built in
functions ? If they were specified then the IronPython guys would have
to implement it for us. B-)
I realise that this can allow bad some bad programming patterns, but
there are times when it can be very useful.
All the best,
Michael Foord
More information about the Python-Dev
mailing list