मेरे पास एक पायथन स्क्रिप्ट है जिसे किसी निश्चित फ़ाइल को देखने की आवश्यकता है।एकाधिक संभावित फ़ाइल स्थानों को संभालने का पाइथोनिक तरीका? (नेस्टेड trys का उपयोग किए बिना)
मैं os.path.isafile() का उपयोग कर सकता हूं, लेकिन मैंने सुना है कि यह खराब पायथन है, इसलिए मैं इसके बजाय अपवाद को पकड़ने की कोशिश कर रहा हूं।
हालांकि, दो स्थानों पर मैं संभवतः फ़ाइल की तलाश कर सकता हूं। मैं इस संभाल करने के लिए नेस्टेड trys इस्तेमाल कर सकते हैं:
try:
keyfile = 'location1'
try_to_connect(keyfile)
except IOError:
try:
keyfile = 'location2'
try_to_connect(keyfile)
except:
logger.error('Keyfile not found at either location1 or location2')
या मैं बस ब्लॉक को छोड़कर पहले में एक पास डाल सकता है, और फिर बस नीचे एक और एक है:
try:
keyfile = 'location1'
try_to_connect(keyfile)
except IOError:
pass
try:
keyfile = 'location2'
try_to_connect(keyfile)
except:
logger.error('Keyfile not found at either location1 or location2')
हालांकि, वहाँ एक और अधिक है उपरोक्त स्थिति को संभालने के लिए पाइथोनिक तरीका?
चीयर्स, विक्टर
आप लूप क्यों नहीं लिखते? -1 लूप –
की अवधारणा को नहीं जानने के लिए यह एक पूरी तरह से वैध सवाल है जो ऐसा करने की एक और पाइथोनिक विधि मांग रहा है। मुझे सच में नहीं लगता कि आप उसे लूपिंग के बारे में सोचने के लिए डिंग कर सकते हैं। –