This path has been placed before you. The choice is yours alone. ——《星球大战》
最近在使用ConfigParser模块时,发现一个问题:
在写入文件时,无论原字符是大写还是小写,ConfigParser option 总是把它转换为小写字符,然后再写入。
查阅资料后发现是ConfigParser中optionxform()函数的问题:
def optionxform(self, optionstr):
return optionstr.lower() #转化为了小写字符
def optionxform(self, optionstr):
return optionstr
此种解决方案的不足之处是只能在本机生效,换台机器就会出问题。
# coding=utf-8
import ConfigParser
class MyConfigParser(ConfigParser.ConfigParser):
def __init__(self, defaults=None):
ConfigParser.ConfigParser.__init__(self, defaults=defaults)
def optionxform(self, optionstr):
return optionstr
使用时使用自己写的MyConfigParser:
conf = MyConfigParser()
conf.read("************")
推荐使用第二种方案。