मान लीजिए कि आपके पास संदर्भ प्रबंधक के माध्यम से तीन ऑब्जेक्ट्स हैं, उदाहरण के लिए एक लॉक, एक डीबी कनेक्शन और आईपी सॉकेट। आप उनके द्वारा प्राप्त कर सकते हैं:पायथन: कई संदर्भ प्रबंधकों पर "साथ" ब्लॉक बनाएं
with lock:
with db_con:
with socket:
#do stuff
लेकिन वहाँ एक ब्लॉक में यह करने के लिए एक तरीका है?
with lock,db_con,socket:
#do stuff
इसके अलावा तरह कुछ, यह संभव है, वस्तुओं है कि संदर्भ प्रबंधकों की अज्ञात लंबाई की एक सरणी को देखते हुए यह संभव किसी भी तरह करना है:
a=[lock1, lock2, lock3, db_con1, socket, db_con2]
with a as res:
#now all objects in array are acquired
अगर जवाब "नहीं", ऐसा इसलिए है क्योंकि ऐसी सुविधा की आवश्यकता खराब डिजाइन का तात्पर्य है, या शायद मुझे इसे एक पेप में सुझाव देना चाहिए? :- पी
[बयान 'के साथ' अजगर में एकाधिक चर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/893333/multiple-variables-in-python-with-statement): यहाँ है कि क्या इस तरह दिखाई देता –