1

たとえば、次のようなテキストファイルを解析したい:

div::
    class:yo-d
    text:example
    id:my-class
    h1:: Title
        href:http://www.example.com
    div::
        class:class1
        id:my-class2

reStructuredText に似ています。
すべてのタグは で終わり、::いくつかの属性を持つことができますattr:value。このような Python 辞書を取得したい:

{'div': {'attrs': {'text': 'example', 'class': 'yo-d', 'id': 'my-class'},
         'sub': {'h1': {'content': 'Title', 'attrs': {'href': 'http://www.example.com'}},
                 'div': {'attrs': {'class': 'class1', 'id': 'my-class2'}},
                },
        }
}

subの後にはインデントされたタグがあり、タグの後に何かが続く場合::は に入り'content'ます。

Lepl を使用しますが、どこから始めればよいかわかりません。何か提案はありますか?

ありがとう、
ルービック

4

1 に答える 1

2

Lepl を使用する代わりに Pyparsing を使用できます: https://github.com/pyparsing/pyparsing

私は現在 Pyparsing をうまく使用しています。結果に名前を付けると、名前付きの結果の辞書を取得できます。

于 2010-11-28T12:44:02.877 に答える