with
ステートメントを CSV ファイルで直接使用することは可能ですか? 次のようなことができるのは当然のようです。
import csv
with csv.reader(open("myfile.csv")) as reader:
# do things with reader
しかし csv.reader は__enter__
and__exit__
メソッドを提供していないため、これは機能しません。ただし、次の2つの手順で実行できます。
import csv
with open("myfile.csv") as f:
reader = csv.reader(f)
# do things with reader
この2番目の方法は理想的な方法ですか? csv.reader を with ステートメントと直接互換性を持たせないのはなぜですか?