5 votos

Salir del script de Python en ArcGIS 10.0

Tengo un script con una fianza de función así:

def die():  
    from sys import exit
    exit()

De vez en cuando en el script de verificación de una condición y de salida si es necesario. Esto funciona muy bien en 10.1, pero por desgracia nuestro servidor todavía está en 10. He tenido que modificar la función de la siguiente manera para el trabajo (por este post):

def die():
    from sys import exit
    try:
        exit()
    except SystemExit:
        pass

El problema es que se pone a la except, passes, y se mantiene en camiones hasta el final de la secuencia de comandos. Hay alguna manera de hacer que el script se detendrá?

2voto

Sork Puntos 26

Está seguro de que no debe ser

def die():
    from sys import exit
    try:
        exit()
    except SystemExit:
        pass
        raise

Puesto que se intercepta la excepción antes el subproceso principal, puede no causar una salida. También puede pasar un argumento a exit(). Cualquier cadena que funcionaría bien.

0voto

Paul Puntos 555

Vas a necesitar envolver el guión entero en la try:...except SystemExit cláusula. Fijo que en 10.1 y 10 te pegan haciendo. Lo siento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X