iteration over methods
Troy Melhase
troy at gci.net
Tue Jan 7 17:26:52 EST 2003
i agree with you that inspect.getmembers would be useful for the OP, but
it's important to note that inspect.getmembers is actually doing a dir()
for the caller. from the source:
def getmembers(object, predicate=None):
"""Return all members of an object as (name, value) pairs
sorted by name. Optionally, only return members that
satisfy a given predicate."""
results = []
for key in dir(object):
value = getattr(object, key)
if not predicate or predicate(value):
results.append((key, value))
results.sort()
return results
- troy
Giles Brown wrote:
> As an alternative to dir() you could use the inspect module:
>
> import inspect
>
> class Someclass:
> def __init__(self):
> pass
> def method1(self):
> print "called method1"
> def method2(self):
> print "called method2"
> def runallmethods(self):
> for name, method in inspect.getmembers(self, inspect.ismethod):
> if name[:6] == 'method':
> method.im_func(self)
>
More information about the Python-list
mailing list