python configparser读取配置文件大小写问题

Introduction

在使用python2 configparser读取ini配置文件的时候,发现没法保留配置文件大小写,经搜索发现如下两种方法。同时也发现了python2和python3的configparser的一些小区别。

保留配置文件大小写

ConfigParse源码里有这样一段:

def optionxform(self, optionstr):
    return optionstr.lower()

所以最后统一返回的是小写。

1.直接修改源码

可以直接在/usr/lib/python2.7/ConfigParser.py这是我的python路径,参考。
去掉.lower()即可。
但是这样会影响所有用户的使用。

2.类继承重写optionxform函数

import ConfigParser  
class myconf(ConfigParser.ConfigParser):  
    def __init__(self,defaults=None):  
        ConfigParser.ConfigParser.__init__(self,defaults=None)  
    def optionxform(self, optionstr):  
        return optionstr  
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)

可以打印下看下变化。

python2,3中configparser的区别

访问方式

最显著的变化是,3中支持通过[section][option]这样的方式去访问,2中只能用get等函数。比如打印某个section的所有数据

包名

包名字也从2的ConfigParser变成了configparser

未完待续

Reference

http://blog.csdn.net/xluren/article/details/40298561

文章若未注明转载皆为原创,如需转载请注明出处FindSpace博客及文章链接,文章markdown格式源码现已开放,欢迎转载。文章源码地址:


分享到:

Find

新浪微博(FindSpace博客)QQ群:不安分的Coder(375670127) 不安分的Coder

You may also like...