从外部文件配置Python字典

2024-04-18 17:31:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码行:

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. 我需要知道读取外包文件的代码。

Tags: 文件代码child字典evalminmaxeta
1条回答
网友
1楼 · 发布于 2024-04-18 17:31:39

优雅是主观的,但从实用性的角度来看,您可以将其存储/加载为JSON数据,假设您的字典在其值中不包含除列表、字符串和dict之外的其他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的json模块读取config.json的代码。你知道吗

import json

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

相关问题 更多 >