साथ बयान "के साथ" अजगर का उपयोग करते हुए इस अजगर एक कोशिश को छोड़कर ब्लॉक ?:कोशिश को छोड़कर ब्लॉक
try:
with open("file", "r") as f:
line = f.readline()
except IOError:
<whatever>
के साथ संयोजन में बयान "के साथ" का उपयोग करने के सही तरीके से अगर यह है, तो विचार कर रहा है काम करने के पुराने तरीके:
try:
f = open("file", "r")
line = f.readline()
except IOError:
<whatever>
finally:
f.close()
"के साथ" बयान के प्राथमिक लाभ यहाँ है कि हम कोड की तीन लाइनों से छुटकारा पाने के कर सकते हैं? ऐसा लगता है कि इस उपयोग के मामले में मुझे इस मामले के लिए (हालांकि मैं समझता हूं कि "साथ" कथन में अन्य उपयोग हैं)।
संपादित करें: कोड के उपरोक्त दो ब्लॉक की कार्यक्षमता समान है?
EDIT2: पहले कुछ उत्तर आम तौर पर "साथ" का उपयोग करने के लाभों के बारे में बात करते हैं, लेकिन यहां पर मामूली लाभ लगता है। हम सब कुछ वर्षों से f.close() को स्पष्ट रूप से बुला रहे हैं (या होना चाहिए)। मुझे लगता है कि एक फायदा यह है कि मैला कोडर "साथ" का उपयोग करने से लाभान्वित होंगे।
([बयान '' में एक अजगर का उपयोग करते समय एक अपवाद पकड़ने] की संभावित डुप्लिकेट http://stackoverflow.com/questions/713794/catching -अन-अपवाद-जबकि-उपयोग-ए-पायथन-साथ-कथन) –