可读运行时状态机
rrsm的Python项目详细描述
允许在运行时创建有限状态机,并利用简单的属性语法创建自文档代码。
通常这些概念是互斥的,在任何完成的设计中都可以硬编码。该模块在原型制作过程中非常方便。
用法
>>>fromrrsmimportStateMachine>>>#Instantiation works with a list of the form ['state', ...]...#or a dictionary of the form {'state' : value, ...}...SM=StateMachine(['cool','off','on','warm'])>>>#checking state works against strings or integers:...SM=='cool'True>>>#Change the state...SM('warm')>>>#using attributes to check state:...SM==SM.coolFalse>>>SM==SM.warmTrue>>>SM.current_state'warm'>>>SM.current_code3
对于硬编码的有限状态机,超级状态机项目似乎是一个更有前途的解决方案。
此实现没有依赖项,也不导入任何标准库。它应该可以在任何python版本上工作,但它已经用2.6、2.7、3.3和2.4进行了测试。有些异常可能适用于异常处理。双关语。
安装
最简单的安装方法是:
pip install rrsm