可能性のある複製:
Pythonスクリプトの終了
条件が満たされた場合に実行を停止したい単純なPythonスクリプトがあります。
例えば:
done = True
if done:
# quit/stop/exit
else:
# do other stuff
基本的に、コードのフローが関数を終了し、残りのコードを実行しないようにする関数の本体の「return」キーワードと同等に動作するものを探しています。
使用できるスクリプトを終了するには、
import sys
sys.exit()
終了ステータス値(通常は整数)も指定できます。
import sys
sys.exit(0)
通常は成功と解釈されるゼロで終了します。通常、ゼロ以外のコードはエラーとして扱われます。デフォルトではゼロで終了します。
import sys
sys.exit("aa! errors!")
「aa!errors!」を出力しますステータスコード1で終了します。
Osモジュールには_exit()関数もあります。 sys.exit() 関数はSystemExit例外を発生させてプログラムを終了するため、tryステートメントとクリーンアップコードを実行できます。 os._exit()バージョンはこれを行いません。クリーンアップや出力バッファのフラッシュを行わずにプログラムを終了するだけなので、通常は使用しないでください。
Python docs は、os._exit()がos.fork()の呼び出しで作成された子プロセスを終了する通常の方法であるため、特定の状況で使用できることを示します。
import sys
sys.exit()
スクリプトの本体を関数に入れて、その関数から戻ることができます。
def main():
done = True
if done:
return
# quit/stop/exit
else:
# do other stuff
if __== "__main__":
#Run as main program
main()
次のいずれかを使用できます。
import sys
sys.exit(...)
または:
raise SystemExit(...)
オプションのパラメータは、終了コードまたはエラーメッセージです。両方の方法は同じです。以前はsys.exitを好んでいましたが、SystemExitを上げることに最近切り替えました。これは、コードの残りの部分で目立つように見えるためです(raiseキーワードのため)。
exit()はトリックを行う必要があります
試して
sys.exit("message")
Perlのようなものです
die("message")
これがあなたが探しているものなら。インポートされたモジュール/ def/functionから呼び出されても、スクリプトの実行を終了します
exit()で実行する必要があります。
プログラム全体が停止する必要がある場合はsys.exit()を使用し、そうでない場合は空のリターンを使用します。