[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

AltStyle によって変換されたページ (->オリジナル) /