3.3.1 Exemple atexit

Le simple exemple suivant montre comment un module peut initialiser un compteur à partir d'un fichier quand il est importé et enregistrer automatiquement la valeur mise à jour du compteur quand le programme se termine sans demander à l'application de se terminer par un appel explicite à ce module.

try:
    _compteur = int(open("/tmp/compteur").read())
except IOError:
    _compteur = 0


def incrcompteur(n):
    global _compteur
    _compteur = _compteur + n


def sauvecompteur():
    open("/tmp/compteur", "w").write("%d" % _compteur)


import atexit
atexit.register(sauvecompteur)