So I am trying to pass an object's method call to a function that requires a function pointer. I figured an easy way to do it would be to create a lambda function that calls the correct method, but this is proving more difficult than I imagined.
Here is the function I'm using: def objectMethodCallerFunctionCreator(testerObj, method): exec("y=lambda x: testerObj."+method+"(x)") return y Where testerObj is an instance of an object, and method is a string representing the method to call. The problem is, when I actually run the function created (y in this case), it tells me it can't find the symbol testerObj in the global scope. I have successfully created similar functions, except without using the exec() call. e.g. def functionCreator(a, b, c): return lambda d: myFunc(a, b, c, d) and it doesn't complain about the variables a, b, or c when being run. I am assuming this is happening because of the exec() call, but I don't see another way of calling a variable method on an object. Is there some other way to do this that I'm missing? I tried passing in 'method' as a function pointer (to the method of the object), but that didn't work either. Thanks, Justin -- http://mail.python.org/mailman/listinfo/python-list