मुझे पता है कि मैं की तरह कुछ के साथ कई फ़ाइलें खोल सकते हैं हूँ,उद्घाटन एकाधिक (एक अनिर्दिष्ट संख्या) वे सही ढंग से बंद हो जाती हैं
with open('a', 'rb') as a, open('b', 'rb') as b:
लेकिन मैं एक स्थिति है जहाँ मैं एक सूची है है फाइलों को खोलने के लिए और सोच रहा हूं कि पसंदीदा विधि क्या करने की है जब फ़ाइलों की संख्या अग्रिम में अज्ञात है। कुछ की तरह,
with [ open(f, 'rb') for f in files ] as fs:
(लेकिन यह एक AttributeError
सूची के बाद से साथ विफल __exit__
को लागू नहीं करता है)
मैं की तरह कुछ का उपयोग कर कोई आपत्ति नहीं है,
try:
fs = [ open(f, 'rb') for f in files ]
....
finally:
for f in fs:
f.close()
लेकिन यकीन नहीं है क्या अगर कुछ फाइलें खोलने की कोशिश करते समय फेंक दें तो ऐसा होगा। fs
finally
ब्लॉक में, फ़ाइलों को खोलने के लिए प्रबंधित की गई फ़ाइलों के साथ ठीक से परिभाषित किया जाएगा?
आप इन फ़ाइलों तक पहुँचने की जाएगी समानांतर में, या अनुक्रमिक रूप से? –
@EthanFurman समानांतर में। – tjm