我正在使用ConfigObj 5.0.6來保存許多用戶定義的值,其中一些嵌套。我使用local.ini
取代典型值。沒有前端,所以用戶根據需要編輯配置。爲了更容易和更直觀,有些值屬於配置對象的「根」級別,但在local.ini
文件的嵌套部分下更易於理解。ConfigObj'un-nest'部分
我正在使用local.ini
取代默認值。應用程序的流程建議配置佈局的嵌套值的嵌套值爲非嵌套值。
# un-nested
title = my_title
# nested
[section_1]
val_s1 = val
[section_2]
val_s2 = val
# nested, but I want to be un-nested
val_2 = val
這樣的佈局,符合市場預期,把val_2
下section_2
:
{
'title': 'my_title',
{'section_1': {'val_s1': 'val'}},
{'section_2': {'val_s2': 'val'},
{'val_2': 'val'}}
}
是否有可能在一個行低於section_2
定義val_2
,無奈之下的「主」節訪問它配置對象?
我想與配置對象像這樣結束了:
{
'title': 'my_title',
{'section_1': {'val_s1': 'val'}},
{'section_2': {'val_s2': 'val'}},
'val_2': 'val'
}
的配置詞典的順序並不重要,當然;我感興趣的是能夠使用嵌套的部分,但從.ini
內,退出一節到其父。
我沒有測試過,但懷疑嵌套一切從第一行開始,然後切片配置對象將工作。即,寫local.ini
使得它產生:
{
'main_level':
{
'title': 'my_title',
{'section_1': {'val_s1': 'val'}},
{'section_2': {'val_s2': 'val'}},
'val_2': 'val'
}
}
然後,我可以用config = config['main_level']
當我第一次實例化的配置對象,但我想知道如果我只是缺少的不是一些簡單的,正確的方法黑客攻擊。
這是一個真正的buzzkill!感謝您的快速響應 –