从外包文件配置python字典

时间:2018-01-01 10:03:21

标签: python dictionary

我有以下几行代码:

param0 = {
    'max_depth': 3,
    'eta': 0.075,
    'objective': 'binary:logistic',
    'min_child_weight': 5,
    'silent': 1,
    'eval_matric': "auc",
    'subsample': 0.6,
    'gamma': 0.5,
}

其中定义了一个pythons字典(对于ml模型,如果它感兴趣的话)。我想知道从外包文件创建这个param0字典参数的最优雅方式(也很简单)。 (即从xml文件,json文件或只是我可以在程序外配置的简单文本文件)。

  1. 我需要知道外包文件的外观(结构)。
  2. 我需要知道阅读外包文件的代码。

1 个答案:

答案 0 :(得分:2)

优雅是主观的,但从实用性的角度来看,您将其存储/加载为JSON数据,假设您的字典除了列表中的列表,字符串和字符串之外不包含其他python对象。

config.json

{
    "max_depth": 3,
    "eta": 0.075,
    "objective": "binary:logistic",
    "min_child_weight": 5,
    "silent": 1,
    "eval_matric": "auc",
    "subsample": 0.6,
    "gamma": 0.5,
}

请注意,JSON spec要求字符串由双引号分隔(单引号不要飞)。保留JSON的语法,并在创建/编辑文件时考虑数据类型。

使用python' config.json模块阅读json的代码。

import json

with open('config.json') as f:
    param0 = json.load(f)