7

私は現在、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']], '}']
4

2 に答える 2

9

tokens.args[0].asList関数です。tokens.args[0].asList()その関数の呼び出しです (引数以外のself引数はありません)。その後者の式の型を知りたいようです。

于 2012-05-10T12:31:36.157 に答える
5

試してみませんか

 print type(tokens.args[0].asList())
于 2012-05-10T12:31:43.003 に答える