コンテキストマネージャcontext manager。with文で使う、リソースの自動管理は、「使い始め」と「使い終わり」を自動で管理する仕組みです。電気をつけて部屋に入り、出るときに消すのを自動でやってくれるスイッチのようなものです。
| コード | 読み方 |
|---|---|
with open(...) as f: | ファイルを開いて、fファイルオブジェクト(英: file) という名前で使う |
f.write("テキスト") | fファイルオブジェクト(英: file)に書き込む |
with sqlite3.connect(...) as conn: | DB接続を開いて、conn という名前で使う |
# インデントを抜けると自動閉じる | with ブロックを抜けると自動的に後処理が実行される |
コンテキストマネージャcontext manager。with文で使う、リソースの自動管理では、with = 「このブロックの間だけリソースを使う」という宣言。as f = 開いたファイルを f という名前で使う。インデントを抜けると自動的に後処理(ファイルを閉じる等)が実行される。