【Python基礎】プログラムを終了させる方法:sys.exit()

  • URLをコピーしました!
目次

プログラムの終了

前回、SciPyを使った短時間フーリエ変換による時間周波数解析の方法を紹介しました。

今回はもっと基礎的なことでPythonのプログラムを終了させるsys.exit()を紹介します。

それでは始めていきましょう。

sys.exit()

プログラムを終了させるにはsysモジュールの「exit」を使います。

使い方は簡単でプログラムを終了させたい位置で「sys.exit()」を記載するだけです。

例えばこんなプログラム。

import sys

for i in range(10):
    print(i)

実行結果
0
1
2
3
4
5
6
7
8
9

0から9まで数え上げるプログラムですが、5でプログラムを終了させたい時にはこうします。

import sys

for i in range(10):
    print(i)
    if i == 5:
        sys.exit()

実行結果
0
1
2
3
4
5
An exception has occurred, use %tb to see the full traceback.

SystemExit

「An exception has occurred, use %tb to see the full traceback.」はJupyter Notebookが出しているだけなので気にしないでください。

ちなみにターミナルで動かすとこんな感じで出力されます。

0
1
2
3
4
5
Exit status: 0

単純にプログラムを終了させたいだけならこれでOKです。

メッセージや終了コードを送信

「sys.exit(値)」で値に文字列を入力するとメッセージが、また値に数値を入力すると終了コードを送信することができます。

import sys

for i in range(10):
    print(i)
    if i == 5:
        sys.exit("Finish")

実行結果
0
1
2
3
4
5
An exception has occurred, use %tb to see the full traceback.

SystemExit: Finish

終了コードとしては正常終了を示す「0」、異常終了を示す「1」をよく使うようです。

import sys

for i in range(10):
    print(i)
    if i == 5:
        sys.exit(0)

実行結果
0
1
2
3
4
5
An exception has occurred, use %tb to see the full traceback.

SystemExit: 0
import sys

for i in range(10):
    print(i)
    if i == 5:
        sys.exit(1)

実行結果
0
1
2
3
4
5
An exception has occurred, use %tb to see the full traceback.

SystemExit: 1

終了コードとともに、さらにメッセージを送りたい時には「sys.exit()」の前にprint関数で出力します。

import sys

for i in range(10):
    print(i)
    if i == 5:
        print("Error")
        sys.exit(1)

実行結果
0
1
2
3
4
5
Error
An exception has occurred, use %tb to see the full traceback.

SystemExit: 1

次回はPandasで列を丸ごとdatatime型に変更する方法を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次