Tôi biết rằng tôi có thể mở nhiều file với một cái gì đó như thế nào,Mở nhiều (một số không xác định) các tập tin cùng một lúc và đảm bảo họ được đóng lại một cách chính xác
with open('a', 'rb') as a, open('b', 'rb') as b:
Nhưng tôi có một tình huống mà tôi có một danh sách của các tệp để mở và tự hỏi phương thức ưa thích là làm như thế nào khi số lượng tệp không xác định trước. Một cái gì đó như thế nào,
with [ open(f, 'rb') for f in files ] as fs:
(nhưng điều này không thành công với một AttributeError
kể từ khi danh sách không thực hiện __exit__
)
Tôi không quan tâm sử dụng một cái gì đó như thế nào,
try:
fs = [ open(f, 'rb') for f in files ]
....
finally:
for f in fs:
f.close()
Nhưng không chắc chắn những gì sẽ xảy ra nếu một số tệp bị ném khi cố gắng mở chúng. fs
có được định nghĩa đúng không, với các tệp đã quản lý để mở, trong khối finally
?
bạn sẽ được truy cập vào những file song song, hoặc tuần tự? –
@EthanFurman Song song. – tjm