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 building a debugger. For example:
def show_locals(): # put something in here that shows local_1. local_1 = 123 show_locals() # I want this to show local_1.
What do I put in the body of show_locals
? If I have to modify the calling statement, what is the minimal modification I can make?
Note: this must work when show_locals
is in a different module to its caller.
If you're writing a debugger, you'll want to make heavy use of the inspect
module:
def show_callers_locals(): """Print the local variables in the caller's frame.""" import inspect frame = inspect.currentframe() try: print(frame.f_back.f_locals) finally: del frame
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With