Можно ли использовать оператор with
напрямую с файлами CSV? Кажется естественным сделать что-то вроде этого:
import csv
with csv.reader(open("myfile.csv")) as reader:
# do things with reader
Но csv.reader не предоставляет методы __enter__
и __exit__
, поэтому это не работает. Однако я могу сделать это в два этапа:
import csv
with open("myfile.csv") as f:
reader = csv.reader(f)
# do things with reader
Этот второй способ - это идеальный способ сделать это? Почему бы им не сделать csv.reader напрямую совместимым с оператором with?