(snippet) Función main() en Python

Written by

Hace varios años** Guido van Rossum, creador original del lenguaje **Python publico en su blog, una entrada tratanto el tema de la escritura de la función main(). Según Guido la estructura mas usual seria algo así:

import sys
import getopt

def main():
    # parse command line options
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'h', ['help'])
    except getopt.error, msg:
        print msg
        print 'for help use --help'
        sys.exit(2)
    # process options
    for o, a in opts:
        if o in ('-h', '--help'):
            print __doc__
            sys.exit(0)
    # process arguments
    for arg in args:
        process(arg) # process() is defined elsewhere

if __name__ == '__main__':
    main()

Aunque el post es bastante antiguo se puede extraer bastante información de el, así como de los comentarios, que aportan varias implementaciones, algunas mas avanzadas.

Puedes ojearlo en http://www.artima.com/weblogs/viewpost.jsp?thread=4829