Avatar ·

Relative imports in Python

📁 पायथन, प्रश्न, मदद

कुछ समय से (जैसे relative imports रद्द हो गए) मैं निम्नलिखित प्रश्न को सामान्य रूप से हल नहीं कर पा रहा हूँ:

मान लीजिए, प्रोग्राम की संरचना

App/
    __init__.py
    foo/
        __init__.py
        handler.py

handler.py मॉड्यूल से foo पैकेज से कुछ कैसे लोड करें

पूरी बात यह है कि foo पैकेज का नाम अज्ञात है, यह पता नहीं है। मैं इसे importlib से डाउनलोड करता हूँ।

अभी तक मुझे ऐसा crutch मिला: मैं __name__ वेरिएबल को काटता हूँ, जो handler.py में 'foo.Handler' के बराबर है, यानी इस तरह

foo_name = __name__.rsplit('.', 1)[0]