अजगर में with
कीवर्ड जब (फ़ाइल धाराओं की तरह) अप्रबंधित संसाधनों के साथ काम किया जाता है। यह VB.NET और C# में using
कथन के समान है। यह आपको यह सुनिश्चित करने की अनुमति देता है कि संसाधन "साफ हो जाता है" जब कोड का उपयोग करने वाले कोड को समाप्त हो जाता है, भले ही अपवाद फेंक दिए जाएं। यह try/finally
ब्लॉक के लिए 'सिंटेक्टिक चीनी' प्रदान करता है।
Python Docs से:
with
बयान कोड है कि पहले try...finally
ब्लॉक का उपयोग सुनिश्चित करना है कि सफाई कोड निष्पादित होते हैं स्पष्ट करता है। इस खंड में, मैं कथन पर चर्चा करूंगा क्योंकि इसका आमतौर पर उपयोग किया जाएगा। अगले खंड में, मैं कार्यान्वयन विवरण की जांच करूंगा और दिखाऊंगा कि इस कथन के साथ उपयोग के लिए वस्तुओं को कैसे लिखना है।
with
बयान एक नियंत्रण प्रवाह संरचना जिसका बुनियादी संरचना है:
with expression [as variable]:
with-block
अभिव्यक्ति मूल्यांकन किया जाता है, और यह एक वस्तु संदर्भ प्रबंधन प्रोटोकॉल (जो है का समर्थन करता है कि में परिणाम चाहिए, __enter__()
है और __exit__()
विधियां)।
अद्यतन प्रति स्कॉट विस्नियुस्की की टिप्पणी वीबी कॉलआउट तय की। मैं वास्तव में using
के साथ भ्रमित कर रहा था।
स्रोत
2009-09-02 19:05:11
इससे मदद मिल सकती है: http://effbot.org/zone/python-with-statement.htm – Domenic