Seite 1 von 1

return 0

Verfasst: Samstag 3. Dezember 2011, 13:37
von nezzcarth
Hallo,

wenn man in geany ein Python Skript aus den Templates erstellen lässt, kommt dabei das raus

Code: Alles auswählen

def main():
	
	return 0

if __name__ == '__main__':
	main()
(shebang etc. weggelassen)

Gibt es hier irgendeinen Grund, 0 zurückzugeben, oder hat da einfach jemand sein C nicht ganz aus dem Kopf bekommen?

Danke schon mal :)

Re: return 0

Verfasst: Samstag 3. Dezember 2011, 13:50
von deets
Ist Unfug, returncodes setzt man ueber sys.exit(0). Kannst ja nen Bug melden + das Template updaten.

Re: return 0

Verfasst: Samstag 3. Dezember 2011, 15:27
von nezzcarth
Danke für die Rückmeldung :)

Re: return 0

Verfasst: Samstag 3. Dezember 2011, 22:38
von problembär
Hmm, könnte sinnvoll sein, wenn 0 nach erfolreichem Programmablauf an die aufrufende Shell zurückgegeben wird. Ich denke aber, die 0 wird hier zwar aus der Funktion main() zurückgegeben, erreicht aber nicht die aufrufende Shell.
"sys.exit(0)" würde ich dagegen nicht extra machen.
Kann auch gut sein, daß der Interpreter das Zurückgeben von 0 an die Shell automatisch übernimmt. Ob das so ist, weiß ich aber nicht genau.

Re: return 0

Verfasst: Sonntag 4. Dezember 2011, 10:21
von Leonidas
problembär hat geschrieben:Kann auch gut sein, daß der Interpreter das Zurückgeben von 0 an die Shell automatisch übernimmt. Ob das so ist, weiß ich aber nicht genau.
Das kann man doch trivial testen:

Code: Alles auswählen

$ touch empty.py
$ python empty.py
$ echo $?
0

Re: return 0

Verfasst: Sonntag 4. Dezember 2011, 20:26
von problembär
Leonidas hat geschrieben:Das kann man doch trivial testen:
Da hast Du recht. Ich werd' hier schon ganz übervorsichtig.