2017-07-24 5 views
0

Entschuldigung, wenn dies die falsche Art ist, diese Frage zu stellen.Ist es besser, ein Python-Skript innerhalb einer Funktion oder von main zu beenden?

Also habe ich einige grundlegende Google-Suche und schaute auf die PEP-8 recommendations, aber ich kann immer noch nicht einen guten Code Leitfaden für meine Frage finden:

Ist es besser, meine Python-Skript verlassen innerhalb einer Funktion oder return 1 und lassen Sie die __main__ Körpergriff beenden?

Beispiel:

def exit_fun(): 
    if foo: 
    keep going 
    else: 
    exit(1) 

if __name__ == "__main__": 
    exit_fun() 
    next_fun() 

-oder

def exit_fun(): 
    if foo: 
    keep going 
    else: 
    return 1 

if __name__ == "__main__": 
    funfun = exit_fun() 
    if funfun == 1: 
    exit(1) 
    next_fun() 

Der frist Weg sieht Reiniger in den Augen, aber meine Augen nicht vergleichen mit einem Styleguide.

+1

Warum das Script beendet wird? Ist das Fehlerbehandlung? Ich würde dieses Missfallen finden, dass ein Skript mitten in der Ausführung plötzlich beendet wird. Eher würde ich es kanonisch finden, eine bestimmte Ausnahme zu "erhöhen" oder Fehlercodes zu verwenden. – CoryKramer

+1

Beachten Sie, dass 'exit (1)' grundsätzlich nur 'systemExit (1)' 'anhebt. –

+0

@CoryKramer: Es ist nicht ungewöhnlich, dass ein Skript beendet wird, wenn ein Fehler auftritt. Wenn Sie in Ihrem Programm keine weitere Fehlerbehandlung benötigen, brauchen Sie keine Ausnahmen oder Fehlercodes (obwohl 'exit()' technisch eine Ausnahme auslöst). –

Antwort

0

Als PM2Ring schrieb:

Es ist besser, Stil für alles Haupt zurückzukehren und lassen Sie es Verlassen behandeln.

das beantwortet Damit auch jeder Dank für die Zeiger von sys.exit() vs exit()

Verwandte Themen