次の簡単な例では、インポートされたときにモジュールがファイルからカウンタを初期化する方法を示しています。また、プログラムが終了したときにアプリケーションがこのモジュールを明示的に呼び出さなくても、自動的にカウンタの更新された値を保存する方法を示しています。
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')