Python関数-バンチ構成のロード

0 序文###

Python開発では、構成ファイルは多くの場合、jsonの形式のファイルで記述されます。
Bunchは、構成ファイルを構成クラスと構成辞書に変換できます。

1 束チュートリアル##

1.1 初期化###

>>> b =Bunch()>>> b.hello ='world'>>> b.hello
' world'>>> b['hello']+="!">>> b.hello
' world!'>>> b.foo =Bunch(lol=True)>>> b.foo.lol
True
>>> b.foo is b['foo']
True

1.2 Dict ###の使用法を継承します

>>> b.keys()['foo','hello']>>> b.update({'ponies':'are pretty!'}, hello=42)>>> print repr(b)Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')>>>[(k,b[k])for k in b ][('ponies','are pretty!'),('foo',Bunch(lol=True)),('hello',42)]>>>"The {knights} who say {ni}!".format(**Bunch(knights='lolcats', ni='can haz'))'The lolcats who say can haz!'

1.3 シリアル化###

>>> b =Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')>>>import json
>>> json.dumps(b)'{"ponies": "are pretty!", "foo": {"lol": true}, "hello": 42}'
>>> b =Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')>>>import yaml
>>> yaml.dump(b)'!bunch.Bunch\nfoo: !bunch.Bunch {lol: true}\nhello: 42\nponies: are pretty!\n'>>> yaml.safe_dump(b)'foo: {lol: true}\nhello: 42\nponies: are pretty!\n'

2 インターフェイスパッケージ##

import json
from bunch import Bunch

def get_config_from_json(json_file):"""
 構成ファイルを構成クラスに変換する
 : param json_file:jsonファイル
 : return:構成情報
    """
 withopen(json_file,'r')as config_file:
  config_dict = json.load(config_file)  #構成辞書
 config =Bunch(config_dict)  #構成辞書をクラスに変換する
 return config, config_dict
  1. https://juejin.im/post/5aded5b7518825671b022c18

  2. https://pypi.org/project/bunch/

Recommended Posts

Python関数-バンチ構成のロード
ubuntu構成python、赤
Python3の構成とentry.md
python設定ファイルの書き方