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
  • 相关阅读:
    A1023 Have Fun with Numbers (20分)(大整数四则运算)
    A1096 Consecutive Factors (20分)(质数分解)
    A1078 Hashing (25分)(哈希表、平方探测法)
    A1015 Reversible Primes (20分)(素数判断,进制转换)
    A1081 Rational Sum (20分)
    A1088 Rational Arithmetic (20分)
    A1049 Counting Ones (30分)
    A1008 Elevator (20分)
    A1059 Prime Factors (25分)
    A1155 Heap Paths (30分)
  • 原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8258554.html
Copyright © 2011-2022 走看看