Catch Ctrl-C en Python

Une recherche sur la façon d'attraper Ctrl-C (SIGINT) en Python arrive souvent en utilisant le module signal, mais c'est un CONSEIL qui facilite les choses.

En conclusion, vous pouvez intercepter l'exception KeyboardInterrupt.

Code lors de l'utilisation de KeyboardInterrupt:

try:
    while True:  #Certains traitements lourds(Pour ou pendant un moment. .. ..)
        pass  #Ici, Ctrl-Écrivez le processus que vous souhaitez arrêter avec C
except KeyboardInterrupt:
    # Ctrl-J'ai attrapé C!
    # print('interrupted!')
    pass  #Si vous avez besoin d'un nettoyage spécial, écrivez ici
    #Sys si vous tuez le programme à ce stade.sortie
#Tout ce que vous avez à faire est d'écrire le traitement normal, mais Ctrl-Notez que ce sont de très mauvaises manières de presser C et de continuer le traitement.

Mise en garde

Strictement parlant, KeyboardInterrupt ne semble pas attraper SIGINT pour les travaux d'arrière-plan qui sont détachés du shell, mais je pense qu'il est normal d'utiliser KeyboardInterrupt d'abord dans des situations normales. (Référence: https://stackoverflow.com/questions/40775054/capturing-sigint-using-keyboardinterrupt-exception-works-in-terminal-not-in-scr/40785230#40785230)

Recommended Posts

Catch Ctrl-C en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Époque en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Liste triée en Python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Modifier les polices en Python
Opérations sur les fichiers en Python
Lire DXF avec python
Daily AtCoder # 53 en Python
Séquence de touches en Python
Utilisez config.ini avec Python
Daily AtCoder # 33 en Python
Résoudre ABC168D en Python
Distribution logistique en Python
AtCoder # 7 tous les jours avec Python
Décomposition LU en Python
Une doublure en Python
GRPC simple en Python