Title: Message
I have an object and I want to call a method that I have constructed the name for in a string.
 
For example:
str_method = 'myfun'
obj.str_method
 
Of course, this fails.  I know I could probably do this with exec but is there a better way?
 
For context, the specific application is a wrapper to calling p4python. Note that the second return (under the else under the try) is where I want to call 'method' which is the string name of a method valid for self._client.
 
    def _p4runner(self, method, *args):
        'runs a Perforce command'
        try:
            if callable(method):
                return method(*args)
            else:
                return self._client.method(*args)
        except p4.P4Client.error:
            raise
        except:
            if self._client.errors:
                raise p4.P4Client.error('\n'.join(self._client.errors))
            else:
                raise
 
Clear as mud?
Jeff
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to