मेरे पास एक मॉड्यूल है जो एक मॉड्यूल आयात करता है, लेकिन कुछ मामलों में आयात किया जा रहा मॉड्यूल मौजूद नहीं हो सकता है। मॉड्यूल आयात किए जाने के बाद आयातित मॉड्यूल के वर्ग से कक्षा उत्तीर्ण होती है। यदि मैं मॉड्यूल मौजूद नहीं है, तो ImportError
अपवाद को पकड़ने के लिए, मैं पाइथन को शेष मॉड्यूल को पार्स करने से कैसे रोक सकता हूं? यदि यह संभव नहीं है तो मैं अन्य समाधानों के लिए खुला हूं।पार्सिंग समाप्त होने से पहले मॉड्यूल से कैसे बाहर निकलें?
try:
from skynet import SkyNet
except ImportError:
class SelfAwareSkyNet():
pass
exit_module_parsing_here()
class SelfAwareSkyNet(SkyNet):
pass
केवल तरीके यह करने के लिए मुझे लगता है कि कर सकते हैं:
यहाँ एक बुनियादी उदाहरण (selfaware.py) है
selfaware.py
मॉड्यूल आयात करने से पहले, देखें कि क्याskynet
मॉड्यूल उपलब्ध है, और बस एक स्टब कक्षा पास या निर्माण। यदिselfaware.py
कई बार आयात किया जाता है तो यह DRY का कारण बन जाएगा।selfaware.py
के भीतरtry
ब्लॉक के साथ परिभाषित कक्षा है। उदा .:try: from skynet import SkyNet class SelfAwareSkyNet(SkyNet): pass except ImportError: class SelfAwareSkyNet(): pass
: एक किसी और का समर्थन करता है? क्या यह काम नहीं करता है? क्या यह एक त्रुटि है? –
क्या यहां कोई गूंज है ?? सभी सटीक डुप्लिकेट उत्तरों के साथ क्या है? और क्यों नए डुप्लिकेट पुराने से अधिक स्कोर करते हैं? –
@MuMind मुझे लगता है कि मैंने यह नहीं देखा कि हाइपरबोरियन का जवाब प्रारंभ में गलत होने के बाद संपादित किया गया था। मैंने जवाब को पुनः प्राप्त कर लिया है। –