(snippet) Función main() en Python

Written by Samuel de Ancos

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