J
Jacek Generowicz
Is there some way of affecting the way dir finds the information it presents?
For example, supposing a hypothetical __dir__ magic method:
class collection:
def __init__(self, myname, names):
self.names = names
self.myname = myname
def __dir__(self):
return ['%s(%s)' % (self.myname,n) for n in self.names]
class thingy:
def __init__(self, *names):
self.it = collection('it', names)
thing = thingy('this', 'that', 'theother')
dir(thing)
['__doc__', '__init__', '__module__', 'it(this)', 'it(that)', 'it(theother)']
In other words, I would like some attributes of an instance to inject
some information into the output of dir ... to change the way their
names are perceived by dir.
Any ideas ?
For example, supposing a hypothetical __dir__ magic method:
class collection:
def __init__(self, myname, names):
self.names = names
self.myname = myname
def __dir__(self):
return ['%s(%s)' % (self.myname,n) for n in self.names]
class thingy:
def __init__(self, *names):
self.it = collection('it', names)
thing = thingy('this', 'that', 'theother')
dir(thing)
['__doc__', '__init__', '__module__', 'it(this)', 'it(that)', 'it(theother)']
In other words, I would like some attributes of an instance to inject
some information into the output of dir ... to change the way their
names are perceived by dir.
Any ideas ?