python读取配置文件不更改大小写_修改Python ConfigParser option 大小写的问题

博客介绍了Python ConfigParser模块中选项默认转为小写的问题,并提供了两种解决方法:1. 直接修改源代码,但可能影响他人;2. 继承ConfigParser并重写`optionxform`方法,保持选项大小写不变。通过示例代码展示了如何实现自定义的配置解析类并读取配置文件。
摘要由CSDN通过智能技术生成

ConfigParser option 无论大小写,都会转换成小写,看了源代码发现了一行这样的代码

def optionxform(self, optionstr):

return optionstr.lower()

解决办法:

1.修改源代码,好处,方便快捷,但是不好处,别人使用会受影响

2.继承重写方法的方式,代码如下所示:

[xluren@test config]$ cat read_conf.py

#!/usr/bin/python

import ConfigParser

class myconf(ConfigParser.ConfigParser):

def __init__(self,defaults=None):

ConfigParser.ConfigParser.__init__(self,defaults=None)

def optionxform(self, optionstr):

return optionstr

conf=ConfigParser.ConfigParser()

conf.read("db.conf")

print conf.sections()

for i in conf.sections():

print conf.options(i)

for option in conf.options(i):

print option,conf.get(i,option)

conf=myconf()

conf.read("db.conf")

print conf.sections()

for i in conf.sections():

print conf.options(i)

for option in conf.options(i):

print option,conf.get(i,option)

[xluren@test config]$

conf文件

[xluren@test config]$ cat db.conf

[hello]

a=100

b=1000

A=110000

[xluren@test config]$

执行结果

[xluren@test config]$ python read_conf.py

['hello']

['a', 'b']

a 110000

b 1000

['hello']

['a', 'b', 'A']

a 100

b 1000

A 110000

[xluren@test config]$

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值