vsoler wrote: > I'm learning Python, and I am very fond of it. > > Using Python 2.6 > > I am able to list all the names in a class namespace: > > class abc: pass > abc.a1=7 > abc.a2='Text' > > print abc.__dict__.keys() > > a) However, I do not know how to read the __main__ namespace > > print __main__.__dict__.keys() # Just does not work
It should work. Did you forget to import __main__ before trying? > b) How do i read an imported module namespace? > > c) How could I possibly list the names and contents of the namespace > of my python session? The answer to all your questions is dir() for names and vars() for the complete namespace dictionary: >>> x = 42 >>> dir() ['__builtins__', '__doc__', '__name__', '__package__', 'x'] >>> import os >>> dir(os)[:5] ['EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST'] >>> vars() {'__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'x': 42, '__name__': '__main__', 'os': <module 'os' from '/usr/lib/python2.6/os.pyc'>, '__doc__': None} Peter -- http://mail.python.org/mailman/listinfo/python-list