修改Python ConfigParser option 大小写的问题

来源:互联网 发布:数据库实训个人总结 编辑:程序博客网 时间:2024/06/03 07:44

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

<span style="font-size:18px;">    def optionxform(self, optionstr):        return optionstr.lower()</span>
解决办法:

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

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

<span style="font-size:18px;">[xluren@test config]$ cat read_conf.py #!/usr/bin/python import ConfigParserclass myconf(ConfigParser.ConfigParser):    def __init__(self,defaults=None):        ConfigParser.ConfigParser.__init__(self,defaults=None)    def optionxform(self, optionstr):        return optionstrconf=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]$ </span>

conf文件

<span style="font-size:18px;">[xluren@test config]$ cat db.conf [hello]a=100b=1000A=110000[xluren@test config]$ </span>

执行结果

<span style="font-size:18px;">[xluren@test config]$ python read_conf.py ['hello']['a', 'b']a 110000b 1000['hello']['a', 'b', 'A']a 100b 1000A 110000[xluren@test config]$ </span>



1 0
原创粉丝点击