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

本文介绍了一种利用Python的ConfigParser包高效处理配置文件的方法。通过一个实用函数get_all_config,可以轻松读取和格式化配置文件中的参数,包括保留参数的原始大小写和去除注释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在运行程序时需要读取不同模块的参数,这时候可以用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()}`

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值