Frame hacking

George Sakkis george.sakkis at gmail.com
Tue Dec 12 15:46:49 EST 2006


I wonder if the following is possible:

def inject_n_call(func, **kwds):
    '''Call func by first updating its locals with kwds.'''

def f():
    return x*y

>>> inject_n_call(f, x=3, y=4)
12

I've been playing with sys.settrace, updating frame.f_locals in the
trace function, but it doesn't seem to work. Any other ideas ?

George




More information about the Python-list mailing list