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

    Python3之configparser模块

     

    1. 简介

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ##### ini 文件示例 ########
     
    [section1]      
    name = wang
    age = 18
      
    [section2]
    name:python
    age = 19
     
    #### 文件格式说明 #########
    [XXX]  代表节点
    XX = XX 或者 XX : XX 代表参数

    2. 使用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    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"))

      

    本博客所有python版本默认为3.5.1
  • 相关阅读:
    总复习
    第十七天(最后的模块)
    第十五天(内置函数)
    第16天(内置模块)
    第十四天(模块)
    第十三天(都是理论)
    第十二天(叠加装饰器和迭代器)
    python基础学习-day33==课后作业练习
    python基础学习-面向对象高级
    python基础学习-day29==课后作业练习
  • 原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8258554.html
Copyright © 2011-2022 走看看