私は現在、pyparsing から純粋なリストとして結果を取得しようとしているので、それを平坦化できます。ドキュメントを読みました
asList() を呼び出すことで、ParseResults を通常の文字列リストに変換することもできます。これにより、埋め込まれた解析要素に対して定義されたフィールド名の結果が削除されることに注意してください。(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']], '}']