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