importutils

与导入相关的工具和辅助函数。

oslo_utils.importutils.import_any(module, *modules)

尝试从模块列表中导入一个模块。

参数:

modules – 要尝试导入的模块列表

返回值:

找到的第一个可以导入的模块

引发:

ImportError – 如果无法从列表中导入任何模块

在版本 3.8 中添加。

oslo_utils.importutils.import_class(import_str)

从包含模块和类的字符串返回一个类。

在 0.3 版本中添加。

oslo_utils.importutils.import_module(import_str)

导入一个模块。

在 0.3 版本中添加。

oslo_utils.importutils.import_object(import_str, *args, **kwargs)

导入一个类并返回它的实例。

在 0.3 版本中添加。

oslo_utils.importutils.import_object_ns(name_space, import_str, *args, **kwargs)

尝试从默认命名空间导入对象。

导入一个类并返回它的实例,首先尝试在默认命名空间中查找该类,然后在默认命名空间中找不到时回退到完整路径。

在 0.3 版本中添加。

版本 2.6 中更改: 不会在实例化对象时捕获 ImportError,而只在导入对象类时捕获。

oslo_utils.importutils.import_versioned_module(module, version, submodule=None)

以 {module}.v{version][.{submodule}] 格式导入一个版本化的模块。

参数:
  • module – 模块名称。

  • version – 版本号。

  • submodule – 子模块名称。

引发:

ValueError – 对于任何无效输入。

在 0.3 版本中添加。

版本 3.17 中更改: 添加了 module 参数。

oslo_utils.importutils.try_import(import_str, default=None)

尝试导入一个模块,如果失败则返回默认值。