• 模块之ConfigParser模块详解


    ConfigParser模块介绍

    在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。
    ConfigParser解析的配置文件的格式为.ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项。

    配置文件格式如下:

    • 中括号“[ ]”内包含的为section。
    • section 下面为类似于key-value 的配置内容。

    [HOST]  
    HOST1 = 172.25.254.1:root:123
    HOST2 = 172.25.254.2:root:123
    HOST3 = 172.25.254.3:root:123
    
    [db]
    db_port = 3306
    db_user = root
    db_host = 127.0.0.1
    db_pass = westos

    ConfigParser模块初始化

    import configparser  # 导入模块
    
    config = configparser.ConfigParser()  # 实例化ConfigParser对象
    config.read('test.ini')  # 读取配置文件

     

    ConfigParser模块常用方法

    查看节点

    # 获取sections
    print(config.sections())
    
    # 获取某一sections下的所有的options
    print(config.options('db'))
    
    # 获取某一sections下的items
    print(config.items('db'))
    
    # 获取某一具体的value值
    res = config.get('db', 'db_host')
    print(res, type(res))

    检查节点

    # 检查文件中是否存在某个节点。如果存在,返回True;否则,返回False;
    config.has_section("db")  # True
    
    config.has_section("port")  # False
    
    
    # 检查文件中的某个节点是否存在某个key(eg:db_pass);如果存在,返回True;否则,返回False;
    config.has_option("db","db_pass")  # True
    
    config.has_option("db","db_passwd")  # False

    添加节点

    # 添加指定的节点
    config.add_section("info")
    
    # 往节点里面添加对应的key-value值;
    config.set("info","username","root")
    config.set("info","password","westos")
    
    # 将添加的内容真正写入文件中;
    config.write(open("config.ini","w"))

    删除节点

    # 删除指定节点中的key值;如果成功删除,返回True,否则,返回False;
    config.remove_option("info","password")  # True
    config.remove_option("info","username")  # True
    
    # 删除指定的节点;
    conf.remove_section("info")  # True
    
    # 将删除的内容在文件中真正删除;
    config.write(open("config.ini","w"))
  • 相关阅读:
    SQL SERVER NVARCHAR字段INSERT 中文乱码问题解决
    解析$(this).data('type');
    使用HttpWebRequest发送自定义POST请求
    C#使用WebClient下载文件到本地目录
    linux开发时,想用的链接暂存
    程序进行重定位的技术按重定位的时机分类
    文件分类
    快表、页表
    操作系统的发展与分类
    网络操作系统和分布式操作系统的区别
  • 原文地址:https://www.cnblogs.com/featherwit/p/13279845.html
Copyright © 2020-2023  润新知