ConfigParser option 无论大小写,都会转换成小写,看了源代码发现了一行这样的代码
def optionxform(self, optionstr):
return optionstr.lower()
解决办法:
1.修改源代码,好处,方便快捷,但是不好处,别人使用会受影响
2.继承重写方法的方式,代码如下所示:
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)
conf文件
[hello]
a=100
b=1000
A=110000
执行结果
['hello']
['a', 'b']
a 110000
b 1000
['hello']
['a', 'b', 'A']
a 100
b 1000
A 110000
python2,3中configparser的区别
访问方式
最显著的变化是,3中支持通过 [section][option] 这样的方式去访问,2中只能用 get 等函数。比如打印某个section的所有数据
包名
包名字也从2的 ConfigParser 变成了 configparser
————————————————
Reference[1]:https://blog.csdn.net/xluren/article/details/40298561
Reference[2]:https://blog.csdn.net/weixin_39524636/article/details/109929314