目次
プログラムの終了
前回、SciPyを使った短時間フーリエ変換による時間周波数解析の方法を紹介しました。
【SciPy】短時間フーリエ変換(STFT:Short-time Fourier Transform)による時間周波数解析[Python]
短時間フーリエ変換 前回、Pythonで時間変化のあるランダムな波形を作成する方法を紹介しました。 今回はその時間変化のあるランダムな波形を使って、経時的な変化を視…
今回はもっと基礎的なことで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型に変更する方法を紹介します。
【Pandas】日時のデータが入った列を丸ごとdatetime型に変更する方法(pd.to_datetime)とさらに秒数に…
Pandas 前回、Pythonでプログラムを終了させる方法(sys.exit)を紹介しました。 今回はPandasで日時のデータが入った列を丸ごとdatetime型に変換する方法とさらに秒に…
ではでは今回はこんな感じで。
コメント