簡體   English   中英

在運行時從python包導入類

[英]Import Class from a python package at runtime

我正在嘗試編寫一個將class名作為參數並導入該類並執行某些任務的函數。

  def search(**kwargs):
    """
    :return:
    """

    try:
        model = __import__('girvi.models', globals(), locals(),  kwargs['model_name'], -1)
       # Do some task
       return results
    except Exception:
        raise Exception('Model not found')

但是事情是model已經成功導入了kwargs['model_name']的類,但是我該如何訪問它。 請有人幫我。

我會嘗試以下方法:

import importlib
import sys

def import_class(class_name, module_name = "girvi.models"):
    module = importlib.import_module(module_name)
    class_object = getattr(module, class_name) # does not work for nested classes
    return class_object

根據__import__說法,應該寧願使用importlib.import_module

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM