我正在尝试创建一个允许我在另一个对象中创建一个对象的yaml格式。 在这个示例中,我试图创建一个状态机对象,同时用一些状态和它们之间的连接填充它。在
yaml.load("""
!statemachine {
states: [
!state { name: p1 },
!state { name: p2 },
!state { name: p3 },],
connections:
[!connection { 'pim' : [p1,p2]}]}
""")
啊!statemachine有一个生成MyStateMachine类型的对象的构造函数
啊!state具有生成MyState类型的对象的构造函数
啊!connection有一个构造函数,该构造函数应该使用名为p1生成的对象并向其添加一个连接
我有两个问题:
1-在状态机创建后,调用state的构造函数,并且状态不在其中
2-检索对象p1并在其上调用add\u connection方法。在
提前谢谢
让我们试试对象的真pyyaml语法
在myyaml.py公司公司名称:
获得:
^{pr2}$永远不要尝试山药负荷()在模块的根块中,始终使用
if __name__ == '__main__'
或在确保调用一次的函数中调用它。在请注意,yaml声明:
此时,yaml尝试导入myyaml.py公司同样,在另一个上下文中,如果您将山药负荷或者在模块的根目录中,您可能会遇到一个无限循环,或者一个意外的结果。在
补充pylover's answer:如果在某个时候需要对序列化/反序列化过程进行更多控制,请尝试yamlable。我们把这个包作为一个包来绑定,这样就可以获得更多的控制权。在
在您的例子中:
如果需要更改默认行为,例如只转储某些字段,或更改其结构以进行转储,或在加载时执行某些自定义实例创建,请取消对相应方法的注释。在
有关详细信息,请参见yamlable documentation
相关问题 更多 >
编程相关推荐