Có thể sử dụng câu lệnh with
trực tiếp với tệp CSV không? Có vẻ như tự nhiên để có thể làm điều gì đó như thế này:Sử dụng câu lệnh "có" cho tệp CSV bằng Python
import csv
with csv.reader(open("myfile.csv")) as reader:
# do things with reader
Nhưng csv.reader không cung cấp các phương pháp __enter__
và __exit__
, vì vậy đây không hoạt động. Tuy nhiên, tôi có thể thực hiện theo hai bước:
import csv
with open("myfile.csv") as f:
reader = csv.reader(f)
# do things with reader
Đây có phải là cách lý tưởng để làm điều đó không? Tại sao họ không làm cho csv.reader tương thích trực tiếp với tuyên bố với?
Như đã đề cập bên dưới, điều đó thực sự không có ý nghĩa đối với người đọc csv. Nhưng nó chắc chắn cho một nhà văn! – b0fh