虽然自己已经改用xml作为配置文件首选格式了,但是有时候还是需要解析ini、cfg文件(为了兼容早期版本或者其他作者的软件)。
基本上Python自带的ConfigParser足够应对了,但是美中不足的是,configparser.RawConfigParser.write()保存文件时,会把所有key存为小写。
组件这样设计应该是为了避免key的大小写混用导致识别困难,但是如果是有特别需要自定义大小写的话,可以找到Python安装目录下的Libconfigparser.py文件的class RawConfigParser()的optionxform方法:
class RawConfigParser(MutableMapping): ... ... def optionxform(self, optionstr): return optionstr.lower() ...
将这里的小写函数lower()去掉:
def optionxform(self, optionstr): return optionstr
这样,再保存配置文件时,key就不会自动变小写了。