获取'pyparsing.ParseResults'的纯列表

Die*_*ler 5 python pyparsing

我目前正试图将pyparsing的结果作为一个纯粹的列表,所以我可以将它弄平.我在文档中读到了

ParseResults也可以通过调用asList()转换为普通的字符串列表.请注意,这将删除已为任何嵌入式解析元素定义的任何字段名称的结果.(pprint模块特别擅长打印asList()给出的嵌套内容.)

所以我尝试定义一个setParseAction我在ParseResult上工作的地方

我得到的是:

>>> print type(tokens.args[0])
 <class 'pyparsing.ParseResults'>
>>> print type(tokens.args[0].asList)
 <type 'instancemethod'>
Run Code Online (Sandbox Code Playgroud)

但我期待/需要最后一个是类型列表.在asList()这里使用时,我必须遗漏一些重要的东西.

迪特马尔

PS:这里有令牌实际上是什么样的MTC:

>>> print tokens.args[0]
['foo1', ['xxx'], ',', 'graphics={', 'bar1', ['xxx,yyy'], ',', 'bar2', 
['xxx,yyy'], ',', 'bar3', ['xxx,yyy,', 'zzz=baz', ['xxx,yyy']], '}']
Run Code Online (Sandbox Code Playgroud)

Mar*_*cin 7

tokens.args[0].asList是一个功能.tokens.args[0].asList()是对该函数的调用(除了参数之外没有self参数).看来你想知道后一个表达式的类型.


Nie*_*ein 5

你能试一下吗

 print type(tokens.args[0].asList())
Run Code Online (Sandbox Code Playgroud)