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
この
with
ステートメントは、try...finally
クリーンアップ コードが確実に実行されるように、以前はブロックを使用していたコードを明確にします。この
with
ステートメントは制御フロー構造であり、その基本構造は次のとおりです。with expression [as variable]: with-block
式が評価され、コンテキスト管理プロトコルをサポートするオブジェクト (つまり、 メソッド
__enter__()
と__exit__()
メソッドを持つ) が生成されます。
Scott Wisniewski のコメントに従って、VB コールアウトを修正しましたwith
。確かに、私は と混乱していましたusing
。