模块

(类来自 pyomo.common.config)

class pyomo.common.config.Module(basePath=None, expandPath=None)[source]

基础类:object

模块的域验证器。

模块可以指定为模块对象、模块名称或模块文件的路径。如果通过路径指定,路径字符串具有与Path类支持的相同路径扩展功能。

请注意,通过文件路径导入的模块可能不会被识别为包的一部分,因此它们不应使用相对包导入(例如from . import foo)。

Parameters:
  • basePath (None, str, ConfigValue) – 将添加到任何非绝对路径值前的基础路径。如果为None,则默认为 Path.BasePath

  • expandPath (bool) – 如果为True,则值将被扩展和规范化。如果为False,则值的字符串表示将保持不变。如果为None,expandPath将遵循Path.SuppressPathExpansion的(否定)值。

示例

以下代码展示了指定模块的三种方式:通过文件名、通过模块名或通过模块对象。无论模块是如何指定的,配置中存储的都是一个模块对象。

from pyomo.common.config import (
    ConfigDict, ConfigValue, Module
)
config = ConfigDict()
config.declare('my_module', ConfigValue(
    domain=Module(),
))
# Set using file path
config.my_module = '../../pyomo/common/tests/config_plugin.py'
# Set using python module name, as a string
config.my_module = 'os.path'
# Set using an imported module object
import os.path
config.my_module = os.path
__init__(basePath=None, expandPath=None)[source]

方法

__init__([basePath, expandPath])

成员文档