[Python-es] Finalizar programa

Arnau Sanchez pyarnau en gmail.com
Lun Oct 25 11:20:45 CEST 2010


On Sun, 24 Oct 2010 20:45:20 -0430 Alvaro Manrique wrote:

>    Como puedo finalizar un programa, es decir, a raiz de una funcion
> no ejecutada decirle "Finalizar".
> 
>    Gracias de antemano.

Hay un "idiom" que se usa mucho (con algunas variaciones), un ejemplo:

  import sys

  def main(args):
    if args and args[0] == "ok":
      return 0 # 0 es OK
    return 1 # != 0 es que algo fue mal

  if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))

Se considera buena práctica que sólo la función principal pueda acabar un
script (cuantos menos puntos de salida tenga un programa/función, mejor)

$ python script.py; echo $?
1

$ python script.py ok; echo $?
0


Más información sobre la lista de distribución Python-es