Python में सापेक्ष आयात
📁 पायथन, प्रश्न, मदद
कुछ समय से (जब से सापेक्ष आयात हटा दिया गया) मैं इस प्रश्न को सामान्य रूप से हल नहीं कर पा रहा हूँ:
मान लीजिए, प्रोग्राम की संरचना इस प्रकार है:
app/ __init__.py foo/ __init__.py handler.pyमॉड्यूल handler.py से पैकेज foo से कुछ कैसे लोड करूँ?
समस्या यह है कि पैकेज foo का नाम शुरू में अज्ञात है, मैं इसे importlib का उपयोग करके लोड कर रहा हूँ।
अब तक मुझे यह समाधान मिला है: मैं __name__ वेरिएबल को काटता हूँ, जो handler.py में 'foo.handler' के बराबर है, यानी इस प्रकार:
foo_name = __name__.rsplit('.', 1)[0]और फिर मैं आवश्यक मॉड्यूल लोड करता हूँ:
needle_module = importlib.import_module('.' + <मॉड्यूल का नाम>, foo_name)लेकिन, जैसा कि
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए
ब्लॉग