无法获取pyparsing Dict()返回嵌套字典

无法获取pyparsing Dict()返回嵌套字典,第1张

无法获取pyparsing Dict()返回嵌套字典

两个问题:

  • 您缺少
    pp.Dict
    周围
    pp.delimitedList
    ,使
    asDict
    在内部结果正常工作
  • 您仅
    asDict
    在最外层
    ParsingResult
    实例上调用,而在内层
    ParsingResult
    “未解释”

我尝试了以下方法:

from pyparsing import *field_name = field_val = Word(alphanums)colon = Suppress(Literal(':'))expr = Dict(Group(    field_name +    nestedExpr(content =        Dict(delimitedList(  Group(field_name + colon + field_value),  delim = ';'         ))    )))

然后像这样使用它:

>>> res = expr.parseString('foo(bar:baz;x:y)')>>> type(res['foo'])<class 'pyparsing.ParseResults'>>>> { k:v.asDict() for k,v in res.asDict().items() }{'foo': {'x': 'y', 'bar': 'baz'}}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5648906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存