python - Python 中的动态导入

标签 python dynamic import module

如何进行导入:

from module import *

使用 imp 模块?

免责声明:

  • 我需要使用 imp 模块,因为我需要做几个语句,我想动态地做
  • 我需要使用 * 因为我需要在导入的文件中直接使用 module 中定义的变量和方法,我的意思是 没有module.methodmodule.variable。而且我想导入模块中的所有变量和方法,因为我不知道将来模块中可以有哪些方法或变量

最佳答案

这里!

def load_everything_from(module_names):
    g = globals()
    for module_name in module_names:
        m = __import__(module_name)
        names = getattr(m, '__all__', None)
        if names is None:
            names = [name for name in dir(m) if not name.startswith('_')]
        for name in names:
            g[name] = getattr(m, name)

我试图先尝试找到一个 __all__ 符号,然后如果是文件,则执行 dir() 并抓取看起来非私有(private)的符号——您必须查看 import * 的实现,以了解它是否与 Python 的实际逻辑足够接近以达到您的目的。

关于python - Python 中的动态导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8336119/

相关文章:

python - Django:数据导入脚本的标准位置/约定?

python - 如何在python中使用RSA私钥加密数据?

javascript - 如何避免在多个HTML文件中编写重复代码(使用局部/节/模板等)

Spring配置导入带有排除的资源

python - 在 Pandas 数据框中合并具有相同浮点索引的行

python - 输入中有 Dataframe 的 Spark Udf 函数

javascript - Angular新手,无响应动态表

使用 Telerik ASP MVC 的动态模型

tensorflow - Keras 未导入 : TypeError: can only concatenate str (not "list") to str?

python - 导入父模块包