关于动态导入模块的困惑

问题描述

所以我要寻找的是下面的内容,一些代码检查所需的模块是否已经导入到main.py中,如果没有,请导入:

try:
    from __main__ import sys
    from __main__ import importlib
except:
    import sys
    import importlib
finally:
    modules = ['os','ctypes.windll']
    for modul in modules:
        if modul not in sys.modules:
            importlib.import_module(modul)

这段代码的问题是它无法处理所谓的submodules。 因此,我认为下面的代码即使效率低下也能正常工作,但效果不明显。

finally:
    modules = ['os','ctypes','ctypes.windll']
    for modul in modules:
        if modul not in sys.modules:
            importlib.import_module(modul)

所以主要问题是如何避免在每个Costum模块中导入模块和子模块?原因我觉得这会使我的代码慢一些。一种不同的解决方案可能是使用import语句进行模数转换,但这并不是我建议的答案here那样的建议。

我强烈建议您不要这样做。你正在做 全局包含文件错误再次出现。

在python 3.7中是否有 pythonic 方式来做到这一点,而我在研究中错过了它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)