[gelöst] Problemstellung: str+c / strg+d abfangen

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.
Antworten
hector
User
Beiträge: 20
Registriert: Dienstag 3. Oktober 2006, 09:06

Hallo,
mit Entsetzen ist mir gerade aufgefallen, dass man durch die geschickte Kombination von strg+c und strg+d Pythonprogramme zum Abstürzen bringen kann. Ich brauche aber den Fall, dass es in jedem Fall diese Steuerkommandos abfängt.

Code: Alles auswählen

def main():
        
        print "Main"
        
        try:
                name=raw_input("Name: ")
        #except (exceptions.KeyboardInterrupt,exceptions.EOFError):
        except:
                print "\nhier wird nicht ausgebrochen!"
                main()

main()

Und zwar stürzt das Programm ab, wenn nach einem strg+d ein strg+c erfolgt. Und obwohl dann auch dasteht keyboardinterrupt, kann Py das einfach nicht mehr abfangen. Wie man sehen kann, habe ich erst den sauberen Weg gewählt und die Exceptions angegeben. Aber lasse ich sie weg, ist der Fehler ebenso reproduzierbar. Falls jemand weiß wie man das umschiffen kann, wäre ich sehr dankbar.
Zuletzt geändert von hector am Montag 23. Juni 2008, 10:29, insgesamt 1-mal geändert.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Jo, da bin ich auch mal drueber gestolpert: http://bugs.python.org/issue1195

Hier noch der ensprechende Forums-Thread: http://www.python-forum.de/topic-12045.html
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
hector
User
Beiträge: 20
Registriert: Dienstag 3. Oktober 2006, 09:06

wow, danke Rebecca

und für alle anderen:

importiert man das Modul readline, wird dieses Problem umgangen

(Verzeiht dass ich nicht die Suchenfkt. gebrauchte - mir fallen dafür immer keine passenden Suchbegriffe ein)
Antworten