Contrôle de Capture-C en Python

Je veux savoir s'il est possible d'attraper un Control-C en python de la manière suivante:

 if input != contr-c:
    #DO THINGS
 else:
    #quit

J'ai lu des trucs avec try et except KeyboardInterrupt mais ils ne fonctionnent pas pour moi.

27

2 réponses

Pensez à lire cette page sur la gestion des exceptions.. Il doit aider.

, Comme @abarnert a dit, avez - sys.exit() après except KeyboardInterrupt:.

Quelque Chose comme

try:
    # DO THINGS
except KeyboardInterrupt:
    # quit
    sys.exit()

Vous pouvez également utiliser la fonction exit() intégrée, mais comme l'a souligné @eryksun, sys.exit est plus fiable.

43
répondu pradyunsg 2017-08-13 11:00:30

D'après vos commentaires, il semble que votre seul problème avec except KeyboardInterrupt: est que vous ne savez pas comment le faire sortir quand vous obtenez cette interruption.

Si c'est le cas, c'est simple:

import sys

try:
    user_input = input()
except KeyboardInterrupt:
    sys.exit(0)
9
répondu abarnert 2013-03-10 02:39:06