Zdaję sobie sprawę, że mogę otworzyć wiele plików z czymś,otwarcia (numer nieokreślone) plików na raz i upewniając się, że są prawidłowo zamknięte
with open('a', 'rb') as a, open('b', 'rb') as b:
Ale Mam sytuacji gdzie mam listę plików do otwarcia i zastanawiam się, jaka jest preferowana metoda czynienia tego samego, gdy liczba plików jest nieznana z góry. Coś podobnego,
with [ open(f, 'rb') for f in files ] as fs:
(ale to się nie powiedzie z AttributeError
od listy nie implementuje __exit__
)
nie przeszkadza coś,
try:
fs = [ open(f, 'rb') for f in files ]
....
finally:
for f in fs:
f.close()
Ale nie jestem pewien, co stanie się, jeśli niektóre pliki wyrzucą próbując je otworzyć. Czy fs
będzie poprawnie zdefiniowany, z plikami, które udało się otworzyć, w bloku finally
?
Będziesz dostępu do tych plików równolegle lub sekwencyjnie? –
@EthanFurman Równolegle. – tjm