I discovered this: def f(name): import inspect c_frame = inspect.getouterframes(inspect.currentframe(), 1)[1][0] c_args, c_varargs, c_varkw, c_locals = inspect.getargvalues(c_frame) d = dict(c_locals) return d[name]
def g(): a=5 print f('a') g() # prints 5