#!/usr/bin/env python # # Copyright 2007 Doug Hellmann. # # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and # its documentation for any purpose and without fee is hereby # granted, provided that the above copyright notice appear in all # copies and that both that copyright notice and this permission # notice appear in supporting documentation, and that the name of Doug # Hellmann not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. # # DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # """Learn about a module """ __version__ = "$Id$" #end_pymotw_header import imp import inspect import sys if len(sys.argv) >= 2: filename = sys.argv[1] else: filename = 'example.py' try: (name, suffix, mode, mtype) = inspect.getmoduleinfo(filename) except TypeError: print 'Could not determine module type of %s' % filename else: mtype_name = { imp.PY_SOURCE:'source', imp.PY_COMPILED:'compiled', }.get(mtype, mtype) mode_description = { 'rb':'(read-binary)', 'U':'(universal newline)', }.get(mode, '') print 'NAME :', name print 'SUFFIX :', suffix print 'MODE :', mode, mode_description print 'MTYPE :', mtype_name