> Modules standards > Autres modules > module atexit pour actions en fin de programme.
module atexit pour actions en fin de programme.
le module atexit permet d'enregistrer des appels de fonctions à faire en sortie d'un programme pour faire le ménage :
- pour utiliser le module, faire import atexit.
- pour enregistrer une fonction avec des arguments à donner, faire : atexit.register(myFunc, 1, 2), la fonction myFunc étant définie par def myFunc(arg1, arg2).
- on peut aussi enregistrer une fonction par : atexit.register(myFunc, 1, 2), la fonction myFunc étant définie par def myFunc(*arg), et arg reçoit alors le tuple des arguments.
- on peut aussi enregistrer une fonction par : atexit.register(myFunc, a = 1, b = 2), la fonction myFunc étant définie par def myFunc(**arg), et arg reçoit alors le dictionnaire des arguments.
- dans quelles situations les fonctions sont appelées :
- en sortie "normale" de programme, y compris avec un sys.exit(1) par exemple.
- si le programme se termine à cause d'un raise d'une exception.
- si le programme se termine à cause d'une erreur python (fonction appelée non existante, ou évaluation de None + 1 par exemple).
- si on fait un Ctrl-C pour interrompre le programme (SIGINT)
- mais pas d'appel si on tue le programme par SIGTERM (kill -15) ou SIGKILL (kill -9).
- les fonctions enregistrées sont appelées dans l'ordre inverse de l'enregistrement.
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert