0

グループが選択された場合に特定のグループの値が使用される値のグループをいくつか定義したいと思います。

これを明確にするための例を次に示します。

[environment]
type=prod

[prod]
folder=data/
debug=False

[dev]
folder=dev_data/
debug=True

それを使用するには:

print config['folder'] # prints 'data/' because config['environment']=='prod'

configobj またはそれ以外でこれを行う自然または慣用的な方法はありますか?


追加情報

私の現在の考えは、構成ファイルを解析するロジックポストを使用して、結果の構成オブジェクトを上書きまたは追加することです。ただし、これは構成ファイルの性質に反するように感じられ、検証にはやや複雑なロジックが必要になるように感じます。

4

1 に答える 1

0

これはおそらくあなたが探しているものではないかもしれませんが、jsonネストされたアクセスを簡単にするために使用することを検討しましたか?

たとえば、設定ファイルが次のようになっている場合

{
    "environment": {
        "type": "prod"
    },
    "[dev]": {
        "debug": "True",
        "folder": "dev_data/"
    },
    "[prod]": {
        "debug": "False",
        "folder": "data/"
    }
}

[dev]またはキーを使用してアクセスして[prod]、フォルダーを取得できます。

>>> config = json.loads(config_data)
>>> config['[dev]']['folder']
'dev_data/'
>>> config['[prod]']['folder']
'data/'
于 2015-07-21T08:58:49.457 に答える