zoukankan      html  css  js  c++  java
  • Python3之configparser模块

    1. 简介

      configparser用于配置文件解析,可以解析特定格式的配置文件,多数此类配置文件名格式为XXX.ini,例如mysql的配置文件。在python3.X中

    模块名为configparser ,在python2.X中使用的模块名为ConfigParser。

    ##### ini 文件示例 ########
    
    [section1]       
    name = wang
    age = 18
     
    [section2]
    name:python
    age = 19
    
    #### 文件格式说明 #########
    [XXX]  代表节点
    XX = XX 或者 XX : XX 代表参数
    

    2. 使用

    import configparser       # 导入模块
    config = configparser.ConfigParser()   # 创建对象
    config.read("user.ini", encoding="utf-8")  # 读取配置文件,如果配置文件不存在则创建
    # 查看
    secs = config.sections()  # 获取所有的节点名称
    print(secs)
    # ['section1', 'section2']
    options = config.options('section1')  # 获取指定节点的所有key
    print(options)
    # ['name', 'age']
    item_list = config.items('section1')  # 获取指定节点的键值对
    print(item_list)
    #[('name', 'wang'), ('age', '18')]
    val = config.get('section1', 'name')  # 获取指定节点的指定key的value
    print(val)
    # wang
    val = config.getint('section1', 'age')  # 获取节点section1的age属性,属性需要是int型,否则ValueError
    print(val)
    # 18
    val = config.has_section('section1')  # 检查指定节点是否存在,返回True或False
    print(val)
    # True
    val = config.has_option('section1', 'age')  # 检查指定节点中是否存在某个key,返回True或False
    print(val)
    #True
    
    # 增删改
    config.add_section("node")  # 添加一个节点,节点名为node, 此时添加的节点node尚未写入文件
    config.write(open('user.ini', "w"))  # 将添加的节点node写入配置文件
    
    config.remove_section("node")  # 删除一个节点,节点名为node, 删掉了内存中的节点node
    config.write(open("user.ini", "w"))  # 将删除节点node后的文件内容回写到配置文件
    
    config.set("section1", "k1", "v1")  # 在已存在的节点中添加一个键值对k1 = v1 ,如果该节点不存在则报错,如果key已经存在,则修改value
    # configparser.NoSectionError: No section: 'section'
    config.write(open("user.ini", "w"))
    

      

  • 相关阅读:
    K8S实战(十七)| 通过 StorageClass 实现动态卷供应
    K8S实战(十六)| 持久化存储卷
    K8S实战(十五)| 存储卷概念
    K8S实战(十四)| ConfigMap 对象
    K8S实战(十三)| Secret 对象
    K8S实战(十二)| 为 Ingress 以及后端 Nginx 增加证书
    批量删除git 本地分支、远程分支、tag
    React 页面间传值的个人总结
    搭建一个属于自己的webpack config(-)
    HTTP 2 新特性
  • 原文地址:https://www.cnblogs.com/wang-yc/p/5620944.html
Copyright © 2011-2022 走看看