कैसे "टाइप" यादृच्छिक पैकेज वापसी [डुप्लिकेट]

Nov 24 2020

मैं जिस एप्लिकेशन पर काम कर रहा हूं उसमें प्लगइन्स के लिए अनुमति देने के लिए एक एपीआई का निर्माण कर रहा हूं। मैं importlib.import_moduleप्लगइन्स आयात करने के लिए उपयोग कर रहा हूँ । स्पष्ट रूप से मुझे पता नहीं है कि समय से पहले क्या मॉड्यूल आयात किए जाने वाले हैं। क्या आयात करने के लिए मेरे द्वारा उपयोग की जाने वाली विधि पर एक सामान्य मॉड्यूल के रूप में रिटर्न प्रकार की पहचान करने का एक तरीका है?

def import_plugin(plugin_name: str) -> <Some generic module type>:
    # conditional tests here...
    return importlib.import_module("plugins.{}".format(plugin_name))

जवाब

1 khelwood Nov 24 2020 at 19:52

मॉड्यूल का प्रकार मॉड्यूल द्वारा दिया गया types.ModuleTypeहै types

import types
type(types) is types.ModuleType
# => True
ericl16384 Nov 24 2020 at 19:45

पायथन डक टाइपिंग का उपयोग करता है , इसलिए मैं यह मानने की सलाह देता हूं कि यह एक मॉड्यूल है, और यदि यह उपयोगकर्ता को इसे संभालने नहीं देता है। यदि आप वास्तव में टाइप करना चाहते हैं, तो types.ModuleTypekhelwood के रूप में उपयोग करें ।