I want to retrieve the local variables from Python from a called function. Is there any way to do this? I realize this isn\'t right for most programming, but I am basically
You use the python builtin, dir() or vars():
vars(object)
For examples using dir(), see: this post
Examples using vars:
>>> class X:
... a=1
... def __init__(self):
... b=2
...
>>>
>>> vars(X)
{'a': 1, '__module__': '__main__', '__doc__': None, '__init__': }
>>>
>>> vars(X())
{}
A potentially problematic fact: New style classes not return the same result
>>> class X(object):
... a=1
... def __init__(self):
... b=2
...
>>>
>>> vars(X)
>>> vars(X())
{}
Also: for an instantiated class (new and old style), if you add a variable after instantiating, vars will return the object's dict like this:
>>> x = X()
>>> x.c = 1
>>> vars(x)
{'c': 1}
>>>
See: http://docs.python.org/library/functions.html#vars