入出力・エラーと例外・クラス・標準ライブラリ・対話環境(7,8,9,10,14章)
open()関数で取得したファイルオブジェクトを扱う際、with文を使う場合の利点として正しいものはどれか。
- Awith文はopen()関数の代替であり、open()を使わずにファイルを開ける
- Bwith文を使わなくてもopen()したファイルは自動的にクローズされるため、両者に違いはない
- ✓with文は例外が発生した場合でもブロックを抜ける際にファイルを自動的にクローズする
- Dwith文は特定のファイルモード('w'など)でしか使用できない
解説
with文はコンテキストマネージャとして働き、ブロックを正常終了・例外発生のいずれで抜けた場合でもファイルのclose()処理を自動的に行う。明示的なclose()忘れやリソースリークを防げる点が利点である。
根拠7章 入出力(ファイルの読み書き)