【发布时间】:2012-10-31 03:20:40
【问题描述】:
我已经尝试按照here 的说明进行操作,这导致我找到了这个代码:
import yaml
class Step(yaml.YAMLObject):
yaml_tag = "!step"
def __init__(self, *args, **kwargs):
raise Exception("Intentionally.")
yaml.load("""
--- !step
foo: bar
ham: 42
""")
预期行为:出现异常。但我观察到的是,我的 YAML 标记会生成一个 Step 实例,我可以使用它、访问方法、属性(如上面代码中的 foo)等等。阅读文档,我找不到我的错误,因为它建议使用所有键值对作为关键字参数调用构造函数。
基本上文档中的示例有效,但不是因为构造函数的实现,而是因为键值对(Monster 的属性)用于填充对象的字典。
这里有人知道吗?
我正在使用 python3,但在 python2 中进行了快速评估并观察到了相同的结果。
编辑
我想要做的:留在链接示例(文档)中,如果 Monsters name 以 B 开头,则将 ac 的值加倍。
【问题讨论】:
标签: python python-3.x yaml