Pythonでは、無限ループを作成する際にwhile True:
をよく使用します。しかし、この無限ループを終了するためにはどうすればよいのでしょうか。その答えは、キーボードからの割り込み(Ctrl-C)を捕捉することです。
Ctrl-Cとは何か
Ctrl-Cは、キーボードからの割り込み信号(SIGINT)を発生させるショートカットキーです。この割り込み信号は、現在実行中のプロセスを終了させるために使用されます。
PythonでのCtrl-Cの取り扱い
Pythonでは、Ctrl-Cが押されるとKeyboardInterrupt
例外が発生します。この例外を捕捉することで、無限ループを終了させることができます。
以下に、KeyboardInterrupt
例外を捕捉して無限ループを終了させるPythonコードの例を示します。
try:
while True:
# 何らかの処理
pass
except KeyboardInterrupt:
print('Ctrl-Cが押されました!')
このコードでは、try/except
ブロックを使用してKeyboardInterrupt
例外を捕捉しています。while True:
で無限ループを作成し、その中で何らかの処理を行います。Ctrl-Cが押されると、KeyboardInterrupt
例外が発生し、except
ブロックが実行されます。この結果、無限ループが終了し、メッセージが表示されます。
注意点
ただし、KeyboardInterrupt
例外を捕捉する方法は、シェルから切り離されたバックグラウンドジョブではSIGINTを捕捉できないという制限があります。通常のシチュエーションであれば、まずKeyboardInterrupt
を使用して問題ないと思います。
以上、Pythonで無限ループをCtrl-Cで終了する方法について説明しました。この知識を活用して、Pythonプログラミングをより効率的に行いましょう。