Script töten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
newbie_needs_help
User
Beiträge: 18
Registriert: Donnerstag 18. Mai 2006, 08:33

Script töten

Beitragvon newbie_needs_help » Mittwoch 25. Oktober 2006, 14:02

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!!!
Bild
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Mittwoch 25. Oktober 2006, 14:07

Code: Alles auswählen

sys.exit()
:)
Benutzeravatar
newbie_needs_help
User
Beiträge: 18
Registriert: Donnerstag 18. Mai 2006, 08:33

Beitragvon newbie_needs_help » Mittwoch 25. Oktober 2006, 14:14

Danke Rebecca,

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

;)
Bild
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Beitragvon SigMA » Mittwoch 25. Oktober 2006, 16:12

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
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
prof_weirdo
User
Beiträge: 38
Registriert: Donnerstag 2. Februar 2006, 11:27
Wohnort: Bei Osnabrück

Beitragvon prof_weirdo » Mittwoch 25. Oktober 2006, 16:36

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 ? :)
BlackJack

Beitragvon BlackJack » Mittwoch 25. Oktober 2006, 17:05

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".
prof_weirdo
User
Beiträge: 38
Registriert: Donnerstag 2. Februar 2006, 11:27
Wohnort: Bei Osnabrück

Beitragvon prof_weirdo » Mittwoch 25. Oktober 2006, 19:00

Gut, unter diesen Umständen ist das einleuchtend.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 26. Oktober 2006, 13:02

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Donnerstag 26. Oktober 2006, 14:43

man könnte auch eine Exception werfen und darauf reagieren...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Donnerstag 26. Oktober 2006, 20:57

Nichts anderes tut sys.exit().
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Donnerstag 26. Oktober 2006, 21:15

... und zwar wirft es die SystemExit Exception
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 27. Oktober 2006, 14:18

Joghurt hat geschrieben:... und zwar wirft es die SystemExit Exception

DIe man andererseits auch wieder abfangen kann oder mit atexit darauf reagieren kann :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder