zoukankan      html  css  js  c++  java
  • 解决ConfigParser配置option的大小写问题

    通常情况下,我们会这样解析配置文件:

    confiig = ConfigParser.ConfigParser()

    config.read('xxx.ini') #这个read表示对某个文件用读打开,

    把文件内容读进结构
    config.set(section, option, value) #修改

    config.write(open('xxx.ini', 'w') #写

    可以看到,这个read和write没有任何联系

    我在使用ConfigParser过程,发现他对option的大小写不敏感,全部变成小写,

    这样如果你在修改之后,重写,会发现本来是大写的option变成小写了。

    问题出在

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

    可以自己写一个NewConfigParser,继承ConfigParser,重载函数 optionxform  

    import configparser
    class NewConfigParser(configparser.ConfigParser):
    def optionxform(self, optionstr):
    return optionstr
    def read_config_again():
    rootdir = r"./config/xxx.ini"
    config=NewConfigParser()
    try:
    config.read(rootdir, encoding='utf-8')
    secs = config.sections()
    print("{}".format(secs))
    opts = config.options("API")#[1:]
    print("{}".format(opts))
    kvs = config.items("API")#[1:]
    print("{}".format(kvs))
    except configparser.DuplicateOptionError as doe:
    print("{} 有问题,需要查看 {}".format(doe, rootdir))
    pass
    if __name__ == '__main__':
    read_config_again()



  • 相关阅读:
    LeetCode 42. Trapping Rain Water
    LeetCode 209. Minimum Size Subarray Sum
    LeetCode 50. Pow(x, n)
    LeetCode 80. Remove Duplicates from Sorted Array II
    Window10 激活
    Premiere 关键帧缩放
    AE 「酷酷的藤」特效字幕制作方法
    51Talk第一天 培训系列1
    Premiere 视频转场
    Premiere 暴徒生活Thug Life
  • 原文地址:https://www.cnblogs.com/wozijisun/p/6371084.html
Copyright © 2011-2022 走看看