python Configparser生成config.ini配置文件并获取配置文件内的值

在用python做项目的时候,尤其是神经网络模型调参,我们往往需要对参数进行频繁调整,因此我们需要定义一个工具类来读取配置文件中的配置参数,这样当我们需要调参时,只需要对配置文件中的参数进行调整即可。

#coding: utf-8 -*-
import configparser

#生成配置文件  下面列出三种方式
config = configparser.ConfigParser()
#1、姓名与身份编号
config['name'] = {
    'xiaoming':'001',
    'xiaofang':'002',
    'xiaohong':'003'
}
#2、技能
config['skill']={}
config['skill']['ming'] = 'java'
config['skill']['fang'] = 'python'
config['skill']['hong'] = 'C'

#3、评分
config['score'] = {}
score = config['score']
score['ming'] = '99'
score['fang'] = '98'
score['hong'] = '97'
# #写入
with open('configg.ini','w') as cfg:
    config.write(cfg)
#生成的configg.int如下图


#读取configgw文件的内容
config.read('configg.ini')
#获取skill栏位下,小明的技能
i = config.get('skill','ming')
print(i)  #输出java

生成的配置文件如下图
在这里插入图片描述

做一个配置文件读取函数:
配置文件内容如下,有整型,字符型,浮点型。我们写一个函数,让每一个分栏下对应的键和值以字典的形式返回给我们。
在这里插入图片描述

#coding:utf-8 -*-
import configparser

def get_config(config_file = 'configg.ini'):
    '''
    定义读取配置文件函数,分别读取各个分栏的配置参数,包含ints、floats、strings
    '''
    parser = configparser.ConfigParser()
    parser.read(config_file) #读取文件

    #获取整型参数:按照字典 键——值的形式保存
    cfg_ints = [(key, int(value)) for key, value in parser.items('ints')]
    #获取浮点型参数:按照字典 键——值的形式保存
    cfg_floats = [(key, float(value)) for key, value in parser.items('floats')]
    #获取字符型参数:按照字典 键——值的形式保存
    cfg_strings = [(key, str(value)) for key, value in parser.items('strings')]

    #返回一个字典对象,包含读取的参数
    return dict(cfg_ints + cfg_floats + cfg_strings)

kkk = get_config()
print(kkk)
#输出kkk的值为:{'xiaoming': 1, 'xiaofang': 2, 'xiaohong': 3, 'ming111': 99.0, 'fang222': 98.0, 'hong333': 97.0, 'ming': 'java', 'fang': 'python', 'hong': 'C'}

输出为:{‘xiaoming’: 1, ‘xiaofang’: 2, ‘xiaohong’: 3, ‘ming111’: 99.0, ‘fang222’: 98.0, ‘hong333’: 97.0, ‘ming’: ‘java’, ‘fang’: ‘python’, ‘hong’: ‘C’}
综上,我们想用什么参数就直接从字典中获取就好了。

备注:参考书籍《tensorflow2.0应用编程》-赵英俊 著 第三章 工具类实现

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值