解决ConfigParser配置option的大小写问题
2024-10-02 01:46:10
通常情况下,我们会这样解析配置文件:
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()
最新文章
- a版本冲刺第二天
- C#并行编程之数据并行
- MyBatis配置文件解析
- [Android Pro] Java进阶学习:jar打包详解
- Laravel系列 目录结构
- UDP 内网穿透 心跳
- 夺命雷公狗—angularjs—17—angularjs的静态库
- 目标检测的图像特征提取之(三)Haar特征
- [LeetCode] Ugly Number (A New Question Added Today)
- SQL For Xml
- Win10使用小技巧
- Dom兼容问题记录汇总
- web字体图标的使用
- Nape 获取碰撞点加特效
- 《http权威指南》读书笔记10
- 配置 FATFS 支持长文件名
- vuex最简单、最详细的入门文档
- js判断 pc 手机 浏览器
- maven依赖管理
- MySQL中NULL与空字符串
热门文章
- 编译openssl和Apache报错checking for SSL_CTX_new... no
- php性能提升与检测
- JRE vs OpenJDK vs Oracle JDK
- python之gunicorn的配置
- springboot注入properties配置到javabean
- TZOJ:最大连续子序列
- LeetCode-37.Sudok Solver
- 前端 HTML form表单标签 input标签 type属性 file 上传文件
- RestFramework——API设计规范
- pip批量安装和卸载package