148 votes

Faire quelque chose avant la fin du programme

Comment pouvez-vous avoir une fonction ou quelque chose qui sera exécuté avant que votre programme ne se ferme? J’ai un script qui sera constamment en cours d’exécution en arrière-plan, et j’en ai besoin pour enregistrer certaines données dans un fichier avant qu’il ne se ferme. Existe-t-il une façon standard de le faire?

238voto

Brent Nash Points 6337

Consultez le `` module:

http://docs.python.org/library/atexit.html

Par exemple, si je voulais imprimer un message lorsque mon application se terminait :

Sachez simplement que cela fonctionne très bien pour l’arrêt normal du script, mais il ne sera pas appelé dans tous les cas (par exemple, des erreurs internes fatales).

39voto

Brian C. Lane Points 2258

Si vous voulez que quelque chose fonctionne toujours, même sur les erreurs, utilisez `` comme ceci -

Si vous souhaitez également gérer les exceptions, vous pouvez insérer un avant le

28voto

katrielalex Points 40655

Si vous arrêtez le script en levant un (par exemple en appuyant sur Ctrl-C), vous pouvez l’intercepter comme une exception standard. Vous pouvez également attraper de la même manière.

Je mentionne cela juste pour que vous le sachiez; la « bonne » façon de le faire est le `` module mentionné ci-dessus.

2voto

Rastefan Points 11

Si vous avez des objets de classe, qui existent pendant toute la durée de vie du programme, vous pouvez également exécuter des commandes à partir des classes avec la `` méthode :

cela fonctionne également sur la fin normale du programme si l’exécution est abandonnée, il y aura certainement quelques exceptions:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X