oslo.utils封装了OpenStack各个组件中常用的工具类或工具方法,包含了导入、文件、编码、线程、反射等多种工具类或方法。本文将详细介绍oslo.utils中重要的常用的功能。
1. importutils
importutils提供了多个方法用于导入python包、类、对象等操作。常用方法如下:
- import_class(import_str):导入一个类,输入一个"包.类"的字符串,返回其指定的类。
- import_object(import_str, *args, **kwargs):导入一个对象,第一个输入参数为"包.类"的字符串,之后的参数用于创建对应类的对象,该方法即通过import_class(import_str)方法返回一个指定的类,然后根据args、kwargs等参数创建一个类的对象返回。
- import_object_ns(name_space, import_str, *args, **kwargs):尝试从一个默认的namespace中导入一个对象,首先通过"name_space.import_str"导入类,如果没找到相应的类则通过"import_str"导入类,然后创建指定的类对象返回。
- import_module(import_str):导入一个模块,输入一个表示模块路径的字符串,返回对应的模块。
- import_versioned_module(module, version, submodule=None):导入指定版本的模块,导入的格式为"{mo