Am Sonntag 21 Mai 2006 21:52 schrieb Daniel Nogradi: > Is there something analogous to __getattr__ for modules? > > I know how to create a class that has attributes from a list and > nothing else by overloading __getattr__ and making sure that the > accessed attribute appears in my list. Now I would like to do the same > with a module, say x.py, in which I have a list, say mylist, and after > importing x from another module I would like to be able to say x.one( > ) or x.two( ) if 'one' and 'two' are in mylist and raise an exception > if they aren't. Is this possible?
Not really. But, why not create an instance of some custom type in x.py, and import that instance into the current namespace? Just as convenient. x.py ---- mylist = {"one":1,"two":2} class test(object): def __getattr__(self,name): return mylist.get(name,None) test = test() --- y.py --- from x import test print test.one print test.two print test.three --- --- Heiko. -- http://mail.python.org/mailman/listinfo/python-list