Tim Roberts wrote: > Martin De Kauwe <mdeka...@gmail.com> wrote: >> >>If I wanted to print an entire module, skipping the attributes >>starting with "__" is there an *optimal* way? > > Your question is somewhat ambiguous. When I read "print an entire > module", I assumed you were asking for a way to print the source code, > perhaps with syntax coloring. > > Surely there is no reason to have an "optimal" method of doing this -- > this is never going to be in an inner loop.
Regardless of an inner loop or not, the time required for IO (reading the file from disk, writing it to a printer) will be much larger than the time required to skip dunder (double-underscore) objects. > If you have a method that works, > there is little justification to optimize... Pretty much. HOWEVER, having agreed with you in general, in this specific case it is obvious to me from context that the OP doesn't want to print the source code of the module, but the module's names and their values. I'd try a couple of approaches: - use dir() or vars() to get the module's names, then loop and print each one; - make a shallow copy of the module __dict__, less dunder names, and pass it to the prettyprint module for printing. -- Steven -- http://mail.python.org/mailman/listinfo/python-list