python中configparser函数_Python configparser包读取参数文件,一个简单的解析函数

在运行程序时需要读取不同模块的参数,这时候可以用configparser包进行处理,超级方便。

比如参数文件如下:(随便造的)

[Section1]

a =1 ##a

B = "hi"

[Section2]

c= "c"

d = "-p 123"

我写了一个函数来提取参数

import configparser

def get_all_config(conf_file):

'''

读取所有的config文件

:param conf_file: 参数文件

:return: config[module] 字典,还有默认"DEFAULT"参数模块

'''

config = configparser.ConfigParser()

# 本行代码保证了打印option时,保持原option的大小写样式

config.optionxform = lambda x:x

config.read(conf_file)

# 去除参数value之后的“#”注释,并删除参数两侧空格

f = lambda x:x.partition("#")[0]

config = {key1: {key2: f(config[key1][key2]).strip() for key2 in config[key1].keys()} for key1 in config.keys()}

return config

可以简单的调用:

import configparser

cf_para = get_all_config("config.conf")

print(cf_para['Section1']['a']) # 1

这个函数主要的重点在于config.optionxform = lambda x:x保留了参数的大小写格式,比如a, B等,而不是都是小写。

然后另外一个点是对提取的参数数据进行了去除参数后的#注释以及两侧的空格

f = lambda x:x.partition("#")[0]

config = {key1: {key2: f(config[key1][key2]).strip() for key2 in config[key1].keys()} for key1 in config.keys()}`

这两句代码是遍历字典的字典,并对值进行了格式化。

希望这个函数对参数解析问题的朋友有帮助,如发现错误或有更好的建议欢迎留言~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值