[解決済み] Pythonの終了コマンド - なぜこんなにたくさんあるのか、そしてそれぞれはいつ使うべきなのか?
質問
pythonはスクリプトの実行を停止するための様々なコマンドをサポートしているようです。
私が見つけた選択肢は
quit()
,
exit()
,
sys.exit()
,
os._exit()
何か見落としはありませんか? それぞれの違いは何ですか?また、どのような場合に使用するのでしょうか?
解決方法は?
機能
<上
*
quit()
,
exit()
および
sys.exit()
は同じように機能します。
SystemExit
例外が発生します。 ということを除けば、実質的な違いはありません。
sys.exit()
は常に利用可能ですが
exit()
と
quit()
は
site
モジュールがインポートされている場合。
は
os._exit()
関数は特殊で、クリーンアップ関数を呼び出さずにすぐに終了します (たとえば、バッファをフラッシュしません)。 これは、非常に特殊な用途のために設計されています。
os.fork()
を呼び出します。
結論
-
使用方法
exit()
またはquit()
をREPLで実行します。 -
使用方法
sys.exit()
はスクリプトで、またはraise SystemExit()
を使用します。 -
使用方法
os._exit()
を呼び出した後に終了する子プロセスに使用します。os.fork()
.
これらはすべて引数なしで呼び出すことができ、また、例えば終了ステータスを指定することもできます。
exit(1)
または
raise SystemExit(1)
を実行すると、ステータス1で終了します。ポータブルプログラムは、0-255の範囲の終了ステータスコードに制限されることに注意してください。
raise SystemExit(256)
多くのシステムで、これは切り捨てられ、あなたのプロセスは実際にはステータス 0 で終了することになります。
脚注
*
実は
quit()
と
exit()
は呼び出し可能なインスタンスオブジェクトですが、関数と呼んでも問題ないかと思います。
関連
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] を付けるべきでしょうか?(shebang)を付けるべきか、またどのような形で付けるべきか?
-
[解決済み] Pythonの__future__は何に使うのか、いつ、どのように使うのか、その仕組みについて
-
[解決済み] Pythonのexit()とsys.exit()の違いについて
-
[解決済み] オプションの引数を持つPython関数を作成するにはどうしたらいいですか?
-
[解決済み] Pythonコードの実行に-mオプションをつけるかどうか
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です