Seite 1 von 1

Script töten

Verfasst: Mittwoch 25. Oktober 2006, 14:02
von newbie_needs_help
Hi,

ich habe in sämtliche mir bekannten Python-Quellen nach einem Befehl durchsucht, der in einem Quellcode untergebracht werden kann und das laufende Script, an der Stelle wo er aufgerufen wird, abbrechen lässt.

Toller Satz :)

Beispiel:

Code: Alles auswählen

verbinde dich zu datenbank
if verbindung == 'true':
     mach_was()
else:
     TÖTE    #  :)=
wie muss der Synthax für die Stelle 'TÖTE' lauten?


Dankeschön!!!

Verfasst: Mittwoch 25. Oktober 2006, 14:07
von Rebecca

Code: Alles auswählen

sys.exit()
:)

Verfasst: Mittwoch 25. Oktober 2006, 14:14
von newbie_needs_help
Danke Rebecca,

du hast mir mit diesem winzigen Befehl das Leben sehr erleichtert!

;)

Verfasst: Mittwoch 25. Oktober 2006, 16:12
von SigMA
Man sollte kurz erwähnen, das es besser ist wenn du ein Programm nicht "Tötest" sondern es auslaufen lässt. Zum Bsp dadurch aus der MAIN schleife rausbrechen

SigMA

Verfasst: Mittwoch 25. Oktober 2006, 16:36
von prof_weirdo
SigMA hat geschrieben:Man sollte kurz erwähnen, das es besser ist wenn du ein Programm nicht "Tötest" sondern es auslaufen lässt. Zum Bsp dadurch aus der MAIN schleife rausbrechen

SigMA
Warum ? :)

Verfasst: Mittwoch 25. Oktober 2006, 17:05
von BlackJack
Weil normalerweise niemand damit rechnet, dass eine Funktion das Programm "hart" beendet. Beispiel: Du legst eine Datei an, fängst an da Daten hineinzuschreiben, rufst die Funktion auf und willst danach weitere Daten schreiben. Dazu kommt's dann nicht mehr wenn die Funktion einfach das Programm "tötet".

Verfasst: Mittwoch 25. Oktober 2006, 19:00
von prof_weirdo
Gut, unter diesen Umständen ist das einleuchtend.

Verfasst: Donnerstag 26. Oktober 2006, 13:02
von Leonidas
Dann nutzt man return in einer Funktion.

Dieses verhalten fand ich bei den unuttest-Framework damals sehr nervig, deswegen habe ich dort per Monkey-Patching korrigieren müssen, damit es das Programm nicht sofort beendet.

Verfasst: Donnerstag 26. Oktober 2006, 14:43
von jens
man könnte auch eine Exception werfen und darauf reagieren...

Verfasst: Donnerstag 26. Oktober 2006, 20:57
von birkenfeld
Nichts anderes tut sys.exit().

Verfasst: Donnerstag 26. Oktober 2006, 21:15
von Joghurt
... und zwar wirft es die SystemExit Exception

Verfasst: Freitag 27. Oktober 2006, 14:18
von Leonidas
Joghurt hat geschrieben:... und zwar wirft es die SystemExit Exception
DIe man andererseits auch wieder abfangen kann oder mit atexit darauf reagieren kann :)