आयात कर रहा है यह मेरा फ़ाइल संरचना है:एक वैकल्पिक मॉड्यूल
[mylibrary]
__init__.py
[codecs]
__init__.py < this is the file that we're talking about
optional.py
अब मैं चिह्नित __init__.py
में इस कोड है:
def load_optional_codecs():
try:
from mylibrary.codecs import optional
# do stuff with optional
except ImportError:
pass
इस के साथ एक समस्या है। यदि optional
मॉड्यूल में एक आयात अपवाद होता है तो यह चुपचाप विफल हो जाएगा। मॉड्यूल से किसी भी अपवाद को शांत किए बिना वैकल्पिक मॉड्यूल आयात करने का कोई तरीका है?
यह एक अस्पष्ट परिदृश्य की तरह लग सकता है लेकिन मैं खामोश अपवाद की वजह से एक बुरा त्रुटि मिल गया है और मैं भविष्य में ऐसा होने से रोकने के लिए चाहते हैं।
आप उपयोगकर्ता को अपवाद की रिपोर्ट कर सकते हैं या 'को छोड़कर' ब्लॉक में 'पास' के बजाय इसे लॉग कर सकते हैं, लेकिन यदि आयात विफल होने से ग़लत त्रुटियां उत्पन्न होती हैं, तो मैं कहूंगा कि यह लगभग निश्चित रूप से "वैकल्पिक" नहीं है। – geoffspear
@Wooble: नहीं, 'mylibrary.codecs आयात वैकल्पिक' से विफल नहीं हुआ। समस्या यह थी कि 'वैकल्पिक' मॉड्यूल ने एक मॉड्यूल आयात किया जो असफल रहा (प्रोग्रामिंग त्रुटि के कारण), लेकिन उस त्रुटि को चुप कर दिया गया। – orlp