簡體   English   中英

如何使用configobj定義和選擇值組?

[英]How to define and select groups of values using configobj?

我想定義幾組值,如果選擇了某個組,則使用該組的值。

這是一個使這一點更清楚的示例:

[environment]
type=prod

[prod]
folder=data/
debug=False

[dev]
folder=dev_data/
debug=True

然后使用它:

print config['folder'] # prints 'data/' because config['environment']=='prod'

是否有自然或慣用的方式在configobj或其他方式中執行此操作?


附加信息

我當前的想法是使用一些解析配置文件的邏輯來覆蓋或添加到生成的配置對象中。 但是,這感覺與配置文件的性質背道而馳,並且感覺需要進行一些復雜的邏輯驗證。

我知道這可能不完全是您要搜索的內容,但是您是否考慮過使用json進行簡單的嵌套訪問?

例如,如果您的配置文件看起來像

{
    "environment": {
        "type": "prod"
    },
    "[dev]": {
        "debug": "True",
        "folder": "dev_data/"
    },
    "[prod]": {
        "debug": "False",
        "folder": "data/"
    }
}

您可以使用[dev][prod]鍵訪問它以獲取文件夾:

>>> config = json.loads(config_data)
>>> config['[dev]']['folder']
'dev_data/'
>>> config['[prod]']['folder']
'data/'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM