Printing the arguments of an attribute in a class
Arnaud Delobelle
arnodel at googlemail.com
Sun Feb 28 12:51:44 EST 2010
More information about the Python-list mailing list
Sun Feb 28 12:51:44 EST 2010
- Previous message (by thread): Printing the arguments of an attribute in a class
- Next message (by thread): Py2exe - Bad File Descriptor
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
vsoler <vicente.soler at gmail.com> writes: > I have a class that is a wrapper: > > class wrapper: > def __init__(self, object): > self.wrapped = object > def __getattr__(self, attrname): > print 'Trace: ', attrname > #print arguments to attrname, how? > return getattr(self.wrapped, attrname) > > I can run it this way: > >>>> x = wrapper([1,2,3]) >>>> x.append(4) > Trace: append >>>> x.wrapped > [1, 2, 3, 4] > > I am able to capture the attribute name to x (that is, append). > However, I do not know how to capture and print all of its arguments > (in this case number 4). > > How should I proceed? > > Thank you You could do something like this: class wrapper: def __init__(self, object): self.wrapped = object def __getattr__(self, attrname): print '** get attribute: ', self.wrapped, attrname return wrapper(getattr(self.wrapped, attrname)) def __call__(self, *args, **kwargs): print '** call with args: ', self.wrapped, args, kwargs return wrapper(self.wrapped(*args, **kwargs)) x = wrapper([1,2,3]) x.append(4) I haven't thought about it too much though. -- Arnaud
- Previous message (by thread): Printing the arguments of an attribute in a class
- Next message (by thread): Py2exe - Bad File Descriptor
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list