BETA

PythonJSON、辞書を取り扱う時に便利なdotmapライブラリの紹介

投稿日:2018-11-14
最終更新:2018-11-14
※この記事は外部サイト(https://qiita.com/wakame1367/items/816540b...)からのクロス投稿です

言葉で説明するよりコードを見てもらった方が早いのでいざ。

基本的な使い方

PyPi - dotmap

from dotmap import Dotmap

m = DotMap()

# 定義なしでメンバ変数へアクセスできるような振る舞いをする
m.name = "Mark"

print(m)
# DotMap([('name', 'Mark')])
print(m.name)
# 'Mark'

# dictのようなアクセスもできる
m["name"] = "Adam"

print(m["name"])
# 'Adam'
# ネストされた値へのアクセスもできる
m.person.steve.age = 31

# 中身はこんな感じ
print(m)
"""
DotMap([('name', 'Adam'), 
  ('person', DotMap([('steve', DotMap([('age', 31)]))]))])
"""

具体例

Github - Keras-Project-Templateのように設定をjsonファイルに記述しておき、値を読み出す使い方が便利でしょうか。

{
    "model": {
        "lerarning_rate ": 0.001,
        "momentum": 0.0,
        "decay": 0.0
    }
}
import json
from dotmap import Dotmap

with open("config.json", 'r') as config:
    config_dict = json.load(config)

dotmap_config_dict = Dotmap(config_dict)

print(dotmap_config_dict)
"""
DotMap([('exp',
         DotMap([('lerarning_rate', 0.001),
                 ('momentum', 0.0),
                 ('decay', 0.0)]))])
"""

以上です、読んで頂きありがとうございました。

参考

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@jNBYlY7Lp0gnnmucの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!