• Python3-configparser模块-配置文件解析器


    Python3中的configparser模块主要用于处理类似于windows ini 文件结构的配置文件

      1.configparser模块提供实现基本配置语言的ConfigParser

      2.配置文件由一个一个的"节点"组成,节点下的内容是一个一个的"键值对"

      3.DEFAULT为默认节点,其下的所有"键值对"为所有节点共享

      4."节点"名称是区分大小写的,但"节点"中的"键"并不区分大小写,并且"键"会以小写存储

      5.解析出来的"值"的数据类型统统为字符串,但解析器提供了一些getint()和getfloat()等方法,供你使用

      6.Python2中这个模块的名字是ConfigParser,到Python3中改为configparser

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

    ConfigParser对象的常用方法

      cfg = configparser.ConfigParser()    # 获取一个解析器对象

      cfg.write("filename", "w", encoding= "utf-8")

        将解析器对象写入到配置文件中

      cfg.read("filename", encodin="utf-8")

        将配置文件中的内容读取到解析器对象中

      cfg.defaults()

        返回默认节点下的"键值对"列表

      cfg.sections()

        返回所有的节点名称列表,不包含默认节点

      cfg.options("section")

        返回指定节点下可用的"键"

      cfg.has_section("section")

        返回节点是否存在,默认节点除外

      cfg.has_options("section", "key")

        返回节点存在并且包含指定的"key"

      cfg.get("section", "key")

        返回指定节点下的键对应的值,等价于 cfg["section"]["key"]

      cfg.getint("section", "key")

        返回指定节点下的键对应的值,并强制转换成整数,等价于 int(cfg["section"]["key"])

      cfg.getfloat("section", "key")

        返回指定节点下的键对应的值,并强制转换成浮点数,等价于 float(cfg["section"]["key"])

      cfg.getboolean("section", "key")

        返回指定节点下的键对应的值,并强制转换成布尔值 '1' 'yes' 'true' 'on' 返回True '0' 'no' 'false' 'off' 返回False,其他值则报错

      cfg.add_section("section")

        给解析器对象cfg添加一个节点,如果节点已经存在则引发异常DuplicateSectionError

      cfg.remove_section("section")

        返回节点是否存在,并将该节点删除

      cfg.remove_option("section", "option")

        返回节点下的键是否存在,并将其删除,如果节点不存在,引发异常NoSectionError

      cfg.set("section", "key", "new_value")

        修改指定节点下的键对应的值,如果节点不存在,引发异常NoSectionError

    import configparser
    
    # 创建一个空白解析器对象
    config = configparser.ConfigParser()
    
    # 设置各种节点
    config["DEFAULT"] = {"英格兰": "ENGLAND",  "中国": "China"}
    config["China"] = {"": "山东",  "": "北京"}
    config["University"] = {"BJ": "清华",  "SD": "山大"}
    
    # 将解析器对象写入配置文件
    with open("config.ini", "w", encoding="utf-8") as cfg_file:
        config.write(cfg_file)
    1.初始化配置文件

    import configparser
    
    # 创建一个空白解析器对象
    config = configparser.ConfigParser()
    config.read("config.ini", encoding="utf-8")
    
    # 增加节点
    config.add_section("new_section")
    config["new_section"]["k1"] = "v1"
    config["new_section"]["k2"] = "v2"
    
    # 删除节点
    config.remove_section("University")
    # 删除节点下对应的值
    config.remove_option("DEFAULT", "英格兰")
    
    # 修改节点下对应的值
    config.set("DEFAULT", "中国", "最强的")
    
    #
    print(config.get("DEFAULT", "中国"))
    
    # 将改动后的解析器对象重新写入配置文件
    with open("config.ini", "w", encoding="utf-8") as cfg_file:
        config.write(cfg_file)
    2.配置文件的增、删、改、查
  • 相关阅读:
    spring-boot整合shiro作权限认证
    spring boot整合redis,以及设置缓存过期时间
    java使用Http调用第三方接口,输入链接,获取返回值
    [C#]加密解密 MD5、AES
    [转]Linux 基本操作(RM 删除)
    [转]Windows 经验集
    [随手记]笔记+经验集
    [转][C#]Socket 手写服务端
    [转][C#]跳过调试
    [转][C#]抓取网页内容
  • 原文地址:https://www.cnblogs.com/qq1207501666/p/6635972.html
Copyright © 2020-2023  润新知