Python キーワード「with」は何に使用されますか? [重複] 質問する

Python キーワード「with」は何に使用されますか? [重複] 質問する

Python キーワード「with」は何に使用されますか?

例:入力出力チュートリアル

>>> with open('/tmp/workfile', 'r') as f:
...     read_data = f.read()
>>> f.closed
True

ベストアンサー1

Python では、withキーワードはアンマネージ リソース (ファイル ストリームなど) を操作するときに使用されます。これは、VB.NET および C# のステートメントに似ています。これにより、例外がスローされた場合でも、リソースを使用するコードの実行が終了したときにリソースが「クリーンアップ」されることを保証できます。ブロックusingの「構文糖」を提供します。try/finally

からPython ドキュメント:

このwithステートメントは、try...finallyクリーンアップ コードが確実に実行されるように、以前はブロックを使用していたコードを明確にします。

このwithステートメントは制御フロー構造であり、その基本構造は次のとおりです。

with expression [as variable]:
    with-block

式が評価され、コンテキスト管理プロトコルをサポートするオブジェクト (つまり、 メソッド__enter__()__exit__()メソッドを持つ) が生成されます。

Scott Wisniewski のコメントに従って、VB コールアウトを修正しましたwith。確かに、私は と混乱していましたusing

おすすめ記事