IronPython 中是否有类似于 ENUM 的东西
Is there something similar to ENUM in IronPython
我正在为使用 Iron 的技术程序 (ANSYS ACT) 编写自定义脚本Python
(Python 脚本引擎版本 2.7.0.40 )
在使用标准 CPython 时,我经常使用枚举模块来使选项更具可读性。
类似的东西:
from enum import Enum, auto
class StressType (Enum):
ElemMean = auto()
NodeAveraged = auto()
ElemNodeUnaveraged = auto()
def doSomething (stress, stresstype):
if not isinstance(stresstype, StressType): # Type checking
raise TypeError('Type Error')
if stresstype is StressType.ElemMean:
do something with stress ...
elif (stresstype is StressType.NodeAveraged):
do something else with stress
...
但是在自定义环境中似乎不存在该模块。我收到此错误消息:
Starting Python script engine version 2.7.0.40 for extension xxx.
No module named enum
Ironpython 是否有类似枚举数据类型的东西?
最好是本机数据类型,因此无需安装任何模块。
感谢和欢呼。
IronPython is struggling to keep up with Python 3.
Enums were added to Python in version 3.4.
您的 IronPython 版本是 2.7.0.40,没有枚举。要么更新到 IronPython 的当前版本并忍受 Python 3 的不完整支持,要么选择不同的 Python 实现,要么在 Iron[= 之前不要尝试使用枚举18=]赶上。
aenum 库 1 除了比 stdlib 枚举库提供更多功能外,还适用于 Python 2.7 和 3.3+
--
1 披露:我是 Python stdlib Enum
, the enum34
backport, and the Advanced Enumeration (aenum
) 库的作者。
我正在为使用 Iron 的技术程序 (ANSYS ACT) 编写自定义脚本Python (Python 脚本引擎版本 2.7.0.40 )
在使用标准 CPython 时,我经常使用枚举模块来使选项更具可读性。 类似的东西:
from enum import Enum, auto
class StressType (Enum):
ElemMean = auto()
NodeAveraged = auto()
ElemNodeUnaveraged = auto()
def doSomething (stress, stresstype):
if not isinstance(stresstype, StressType): # Type checking
raise TypeError('Type Error')
if stresstype is StressType.ElemMean:
do something with stress ...
elif (stresstype is StressType.NodeAveraged):
do something else with stress
...
但是在自定义环境中似乎不存在该模块。我收到此错误消息:
Starting Python script engine version 2.7.0.40 for extension xxx.
No module named enum
Ironpython 是否有类似枚举数据类型的东西? 最好是本机数据类型,因此无需安装任何模块。
感谢和欢呼。
IronPython is struggling to keep up with Python 3.
Enums were added to Python in version 3.4.
您的 IronPython 版本是 2.7.0.40,没有枚举。要么更新到 IronPython 的当前版本并忍受 Python 3 的不完整支持,要么选择不同的 Python 实现,要么在 Iron[= 之前不要尝试使用枚举18=]赶上。
aenum 库 1 除了比 stdlib 枚举库提供更多功能外,还适用于 Python 2.7 和 3.3+
--
1 披露:我是 Python stdlib Enum
, the enum34
backport, and the Advanced Enumeration (aenum
) 库的作者。