修改Python ConfigParser option 大小写的问题

 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]$ 



你可能感兴趣的:(python,周边)