我目前正试图将pyparsing的结果作为一个纯粹的列表,所以我可以将它弄平。我在文档中读到了
ParseResults也可以通过调用asList()转换为普通的字符串列表。请注意,这将删除已为任何嵌入式解析元素定义的任何字段名称的结果。 (pprint模块特别擅长打印asList()给出的嵌套内容。)
所以我尝试定义一个setParseAction
,我在ParseResult上工作
我得到的是:
>>> print type(tokens.args[0])
<class 'pyparsing.ParseResults'>
>>> print type(tokens.args[0].asList)
<type 'instancemethod'>
但我期待/需要最后一个是类型列表。在这里使用asList()
时,我必须遗漏一些重要内容。
迪特马尔
PS:这里是令牌实际上是什么样的MTC:
>>> print tokens.args[0]
['foo1', ['xxx'], ',', 'graphics={', 'bar1', ['xxx,yyy'], ',', 'bar2',
['xxx,yyy'], ',', 'bar3', ['xxx,yyy,', 'zzz=baz', ['xxx,yyy']], '}']
答案 0 :(得分:7)
tokens.args[0].asList
是一个功能。 tokens.args[0].asList()
是对该函数的调用(没有self
参数之外的参数)。看来你想知道后一个表达的类型。
答案 1 :(得分:4)
你能试试吗
print type(tokens.args[0].asList())