【Python 事始め】終了処理を追加する


スクリプトにバグがあった場合、Python はエラーメッセージを出力して終了することになるが、py2exe で exe 化している場合、そのメッセージは一瞬で消えてしまって読むことが出来ない。そういうときは終了処理を追加して一旦待って貰おう。この用途には atexit モジュールを使う。

使用例

次のようなスクリプトを実行すると勿論エラーで落ちるが、exe 化しているとウィンドウすら表示されないのでメッセージが読めない。

# coding=utf-8
# ゼロ除算エラーになる
1 / 0

そこで、スクリプトの最初に次のような処理を追加する。

# coding=utf-8
import atexit

def goodbye():
    """
    終了処理
    """
    raw_input( u"Enter キーを押してください".encode( "cp932" ) )

atexit.register( goodbye )

# ゼロ除算エラーになる
1 / 0

このスクリプトを py2exe で exe 化して実行すると、次のように表示される。

100505-0002.png

コメントを残す