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

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/1685

你可能喜欢:(相似内容推荐和广告都使用了谷歌的推荐系统,需要对本站取消广告屏蔽才能显示。感谢点击↓广告支持博主~)

Find

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

1 条回复

  1. Find说道:

    ini配置文件支持左边的变量有空格

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*