动态导入相对路径模块并使用参数实例化类

时间:2017-08-03 03:18:53

标签: python-2.7 class oop dynamic import

确定可能重复,但如果不能,我如何动态导入模块并使用参数进行实例化?

我在文件food/healthyfood/fruits.py中有一个类模块:

class Fruit(object):
    def __init__(self, kind):
        self.kind = kind

现在我需要通过一个字符串动态导入这个类' Fruit'并使用参数实例化它。

位于食品包文件夹中的文件中的静态加载方法:

from food.healthyfood import fruits
fruit = fruits.Fruit('apple')

位于食品包文件夹中的文件中的动态加载方法:

fruitClass = getattr(importlib.import_module("food.healthyfood.fruits"), "Fruit")
fruit_inst = fruitClass('apple')

我收到包找不到错误,我做错了什么? 还有食物& healthyfood是python包文件夹,每个文件夹都有__init__.py

0 个答案:

没有答案