Ich habe mal ein Beispielcode gesehen, das über eine Art hook oder irgendwas mit signals die Exception KeyboardInterrupt abgefangen, und dann an anderer Stelle definiert das Programm beendet hat.
Finde ich leider nicht wieder - weiß jemand, was ich meine und kann mich dahin führen?
Danke, whaeva
Programm mit KeyboardInterrupt sicher beenden.
Code: Alles auswählen
>>> import time
>>> def func():
... time.sleep(0.5)
...
>>> def main():
... try:
... while True:
... func()
... except KeyboardInterrupt:
... print "Beenden"
...
>>> main()
^CBeenden
>>>
Das Leben ist wie ein Tennisball.
Hier noch mal Links zur betreffenden Doku:
http://docs.python.org/tutorial/errors.html
http://docs.python.org/library/exceptio ... dInterrupt
http://docs.python.org/tutorial/errors.html
http://docs.python.org/library/exceptio ... dInterrupt
Du kannst auch über das "signal"-Modul die Signal-Routine für SIGINT ändern. Dann wird KeyboardInterrupt erst gar nicht ausgelöst. Die Ausnahme halte ich persönlich aber für eleganter.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Wenn es dir nicht nur um KeyboardInterrupts geht, gibt's auch noch [mod]atexit[/mod], aber ansonsten wuerde ich auch den Weg ueber Exceptions waehlen.
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei