पायथन 2.6 के साथ संगतता रिपोर्ट करता है कि md5 मॉड्यूल अप्रचलित है और हैशिलिब का उपयोग किया जाना चाहिए। अगर मैं import md5
से import hashlib
बदलता हूं तो मैं अजगर 2.5 और पायथन 2.6 के लिए हल करूंगा, लेकिन पायथन 2.4 के लिए नहीं, जिसमें कोई हैशिलिब मॉड्यूल नहीं है (जो आयातकर है, जिसे मैं पकड़ सकता हूं)।हैशिलब/एमडी 5। पायथन 2.4
अब, इसे ठीक करने के लिए, मैं कोशिश/पकड़ कर सकता हूं, और getMd5() फ़ंक्शन को परिभाषित कर सकता हूं ताकि एक उचित प्रयास को ब्लॉक ब्लॉक के परिणाम के अनुसार परिभाषित किया जा सके। क्या यह समाधान ठीक है?
आप इस मुद्दे को एक सामान्य मामले में कैसे हल करेंगे, उदाहरण के लिए: आपके पास एक ही उद्देश्य के साथ दो अलग-अलग पुस्तकालय हैं लेकिन अलग-अलग इंटरफेस हैं, और आप एक का उपयोग करना चाहते हैं, लेकिन वापस गिरें और दूसरे का उपयोग करें पहला नहीं मिला है। शायद,
try:
import module
except ImportError:
# Do something else.
अपने विशेष मामले में:
ध्यान दें कि यहां एक नग्न 'छोड़कर' कथन बहुत खतरनाक है, क्योंकि यह मॉड्यूल के स्रोतों में त्रुटियों को छुपाएगा लेकिन मॉड्यूल के स्रोत के भीतर अपवाद फेंक देगा। – Triptych
धन्यवाद, मैंने अभी कथन योग्यता प्राप्त की है। – jkp