动态加载__import__报告没有模块错误

时间:2014-04-22 04:53:19

标签: python reflection import reload

这是我的目录结构: enter image description here

在文件keyword.py中,我在第一行导入lottery.lottery,如下所示: 来自lottery.lotterya进口彩票 在文件rule.py中我动态导入lottery.keyword,如下所示: __import('lottery.keyword')但它报告错误“没有名为lotterya的模块”。 我不知道该怎么办。有人可以帮忙吗?

我动态导入模块

1 个答案:

答案 0 :(得分:0)

这是您的问题的一个解决方案。它使用importlib进行动态导入。

在ruly.py中

import importlib

if __name__ == '__main__':
    mKey = importlib.import_module('lottery.keyword')
    MyKeyword = getattr(mKey,'MyKeyword')
    k = MyKeyword()
    k.mPrint()

在keyword.py

from lottery.lotterya import Lotterya

class MyKeyword():
    def __init__(self):
        pass
    def mPrint(self):
        print 'Hello, keyword'
        l = Lotterya()
        l.lPrint()

在lotterya.py

class Lotterya:
    def __init__(self):
        pass
    def lPrint(self):
        print 'Hello, Lotterya'