【问题标题】:Custom bool parsing in PYYAMLPYYAML 中的自定义布尔解析
【发布时间】:2015-05-10 10:17:43
【问题描述】:

我需要以自定义方式解析 PYYAML 中的布尔值并将它们转换为字符串。为此,我尝试编写一个“构造函数”并用 yaml 注册它,但它没有做任何事情。布尔值被正常解析。是标签的问题还是我必须以不同的方式处理这个问题?

def bool_constructor(loader, node):
value = loader.construct_yaml_bool(node)
if value == False:
    return '$false'
else:
    return '$true'

enter code here`yaml.add_constructor('!!bool', bool_constructor)

感谢您的帮助,谢谢。

【问题讨论】:

    标签: python yaml pyyaml


    【解决方案1】:

    经过一些尝试和错误,我自己找到了答案。看来,我使用了错误的标签。正确的python代码如下所示:

    def bool_constructor(self, node):
        value = self.construct_yaml_bool(node)
        if value == False:
            return '$false'
        else:
            return '$true'
    
    yaml.Loader.add_constructor(u'tag:yaml.org,2002:bool', bool_constructor)
    yaml.SafeLoader.add_constructor(u'tag:yaml.org,2002:bool', bool_constructor)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 2011-06-21
      • 2020-12-15
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      相关资源
      最近更新 更多