attrdictを使って辞書をオブジェクト変数としてアクセスできるように変換する

例えばPythonJSONを読み込むとそれは辞書として変換される

import json

data = json.loads('{"a": 1,"b": {"c": 4} }')
print(data)
$ py main.py
{'a': 1, 'b': {'c': 4}}


辞書なので各要素にアクセスする時は以下のようになる。

import json

data = json.loads('{"a": 1,"b": {"c": 4} }')
print(data["b"]["c"])
$ py main.py
4

ただいちいち[]つけて書くのがめんどくさい。やっぱdata.b.cとアクセスできた方が楽だし書きやすいよね。

というわけでattrdictというライブラリを使うことでそれが可能となります。

https://pypi.python.org/pypi/attrdict/2.0.0

まずはインストール

$ pip install attrdict


利用例

import json
from attrdict import AttrDict

data = AttrDict(json.loads('{"a": 1,"b": {"c": 4} }'))
print(data.b.c)
$ py main.py
4

便利ですね。