У нас есть объект конфигурации, который используется для хранения общей и специфичной для модуля информации о конфигурации, которую могут запрашивать разные модули.
Конфигурация json загружается в объект с помощью json.loads (..)с object_hook, как показано ниже. Доступ к полям конфигурации можно получить иерархически: config.network.ip, config.network.port и т. Д.
Я сомневаюсь,
- Возможно ли получить доступ к config.network.ip.parent, который будет таким же, как config.network.
С любого узла мы можем запросить дочерний узел, используя простое выражение пути, как показано ниже?
config.get («network.ip ») == config.network.ip
config.network.get (« ip ») == config.network.ip
Пример кодаЯ пытался
import json
from types import SimpleNamespace
conjson = """
{
"network": {
"ip": "192.168.xxx",
"port": 3000,
"invm_models" : [{"name":"lu model"} ]
}
}
"""
class Configuration:
def dict_to_sns(d):
return SimpleNamespace(**d)
def __init__(self,path):
pass
def __new__(self,path):
self.config = json.loads(conjson, object_hook= Configuration.dict_to_sns)
return self.config
config = Configuration('conf.json')
print(config.network.ip)
Пожалуйста, помогите