3.5.1 atexit

次の簡単な例では、あるモジュールを import した時にカウンタを初期化し ておき、プログラムが終了するときにアプリケーションがこのモジュールを明 示的に呼び出さなくてもカウンタが更新されるようにする方法を示しています。

try:
    _count = int(open("/tmp/counter").read())
except IOError:
    _count = 0

def incrcounter(n):
    global _count
    _count = _count + n

def savecounter():
    open("/tmp/counter", "w").write("%d" % _count)

import atexit
atexit.register(savecounter)

register() に指定した固定引数とキーワードパラメタは 登録した関数を呼び出す際に渡されます。

def goodbye(name, adjective):
    print 'Goodbye, %s, it was %s to meet you.' % (name, adjective)

import atexit
atexit.register(goodbye, 'Donny', 'nice')

# or:
atexit.register(goodbye, adjective='nice', name='Donny')
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。