Pythonでプログラムを終了させる:sys.exit()

Pythonでプログラムを終了させる方法を説明します。

プログラムを終了させる

Pythonではプログラムを途中で終了させるにはsysモジュールのexit()を使います。

手順はまず、Pythonの標準ライブラリのsysモジュールをimportします。

import sys

そして、終了させたい位置に以下でsys.exit()を呼び出すだけです。

sys.exit()

以下のプログラムはforループが5回実行されたときに終了する例です。

# -*- coding: utf-8 -*-

import sys

for i in range(10):
    if i == 4:
        print str(i + 1) + "回実行しましたのでプログラムを終了します。"
        sys.exit()
    print str(i + 1) + "回目"

上のプログラムの実行結果は以下のようになります。

1回目
2回目
3回目
4回目
5回実行しましたのでプログラムを終了します。

終了ステータスを返す

sys.exit()は引数に文字列や整数の値を渡すことでエラーメッセージや終了コードを送ることができます。

sys.exit([arg])

引数を省略するとデフォルト値の0が返されます。一般的には「0」は正常終了、「1」は異常終了とされています。

以下のプログラムはforループが5回実行されたときに異常終了のステータスを返すプログラムです。

# -*- coding: utf-8 -*-

import sys

for i in range(10):
    if i == 4:
        print "エラーが発生しました!"
        sys.exit(1)
    print str(i + 1) + "回目"

上のプログラムの実行結果は以下のようになります。

1回目
2回目
3回目
4回目
エラーが発生しました!

終了ステータスは上のサンプルプログラムを適当な名前で保存し、コマンドライン上で以下のコマンドを入力すれば確認できます。

$ python sample.py
$ echo $?

終了ステータスを使えばシェルスクリプトなどでプログラムの失敗時や成功時で処理を分岐させることもできます。


イベント