• configparser库会自动修改成小写的问题


    configparser --- 配置文件解析器

    直入主题

    config.optionxform = lambda option: option #

    问题描述

    让我们准备一个非常基本的配置文件,它看起来是这样的:
    test.ini

    [DEFAULT]
    ServerAliveInterval = 45
    Compression = yes
    CompressionLevel = 9
    ForwardX11 = yes
    
    [bitbucket.org]
    User = hg
    
    [topsecret.server.com]
    Port = 50022
    ForwardX11 = no
    

    这里看起来很正常,每一个sections里面都是大写字母开头的
    我们来修改一个这个test.ini这里后缀不一定是ini,有的会写成conf

    # 修改gui配置文件
    def change_gui_conf(file, x, y, z):
        config = configparser.ConfigParser()
        config.read(file)
        config[x][y] = z
        with open(file, 'w') as configfile:
            config.write(configfile)
    
    
    if __name__ == '__main__':
        change_gui_conf('test.ini','bitbucket.org', 'User', 'test')
    

    这个时候我们再看一下test.ini文件

    [DEFAULT]
    serveraliveinterval = 45
    compression = yes
    compressionlevel = 9
    forwardx11 = yes
    
    [bitbucket.org]
    user = test
    
    [topsecret.server.com]
    port = 50022
    forwardx11 = no
    

    全部变成小写了。通过官方文档也可以看到:
    还要注意小节中的键大小写不敏感并且会存储为小写形式

    解决办法python3

    # 修改gui配置文件
    def change_gui_conf(file, x, y, z):
        config = configparser.ConfigParser()
        config.optionxform = lambda option: option  # 新增
        config.read(file)
        config[x][y] = z
        with open(file, 'w') as configfile:
            config.write(configfile)
    
    
    if __name__ == '__main__':
        change_gui_conf('test.ini','bitbucket.org', 'User', 'test')
    
  • 相关阅读:
    flask 需要下载的包
    flask知识点
    移动端网页实现(用百分比进行定位)
    js中的preventDefault
    网页重构面试笔试题
    J2EE课程设计的购物车代码(水平有限,仅供参考)
    JavaScript实现对象克隆函数clone( )的程序及分析
    WEB技术书籍推荐
    2016 Tianjin University Software Testing (lab2)
    Mac下安装npm 、node、ionic和cordova
  • 原文地址:https://www.cnblogs.com/tarzen213/p/16465837.html
Copyright © 2020-2023  润新知