Ken Seehart schrieb:
Almost every time I use decorators, I find myself wishing I had access
to the local namespace of the context from which the decorator is
executed. In practice, decorator is being applied to a method, so the
namespace in question would be the dictionary of the class being created.
You can access the instance.
def decorator(method):
def _d(self, *args, **kwargs):
print self.__dict__
return method(self, *args, **kwargs)
return _d
class Foo(object):
@decorator
def bar(self, a, b):
print "bar"
f = Foo()
f.bar(1, 2)
So what exactly it is you are missing? The method's locals()?
And could you explain *why* you are missing this?
Diez
--
http://mail.python.org/mailman/listinfo/python-list