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

      configparser模块:用于按一定格式创建配置文件

      创建

    import configparser
    config = configparser.ConfigParser()
    config['DEFAULT'] = {'default': 'yes'}
    config['path'] = {'userinfo': r'E:pycharm学习day29userinfo'}
    with open('userinfo.ini', 'w', encoding='utf-8') as f:
        config.write(f)

      完成后的文件:

    [DEFAULT]
    default = yes
    
    [path]
    userinfo = E:pycharm学习day29userinfo

      查看

    print(config.sections())  # []        因为还没有读取文件
    config.read('userinfo.ini', encoding='utf-8')
    print(config.sections())  # ['path']  读出节点  ['DEFAULT']为默认节点 不打印
    print('path' in config)   # True      判断某节点是否在配置文件中
    print(config['path']['userinfo'])  # E:pycharm学习day29userinfo   读取节点下的配置项  没有该项目标报错
    print(config.get('path', 'userinfo'))  # E:pycharm学习day29userinfo
    
    for k in config['path']:   # 打印'path'节点下的配置项的同时还会打印默认节点下的所有项
        print(k)  # userinfo  default
    
    print(config.items('path'))  # [('default', 'yes'), ('userinfo', 'E:\pycharm\学习\day29\userinfo')]

      增加

    config.read('userinfo.ini', encoding='utf-8')
    config.add_section('IP')  # 增加节点
    print(config.sections())  # ['path', 'IP']
    config.set('IP', 'ip', '192.168.1.1')  # 给节点增加配置项
    config.set('path', 'userinfo', 'None')  # 修改配置项
    print(config['IP']['ip'])  # 192.168.1.1
    print(config['path']['userinfo'])  # None
    config.write(open('userinfo.ini', 'w', encoding='utf-8'))  # 将修改重新写回文件

      删除

    config.read('userinfo.ini', encoding='utf-8')
    print(config.sections())  # ['path', 'IP']
    config.remove_section('IP')  # 删除节点
    print(config.sections())  # ['path']
    print(config.items('path'))  # [('default', 'yes'), ('userinfo', 'None')]
    config.remove_option('path', 'userinfo')  # 删除节点中的配置项
    print(config.items('path'))  # [('default', 'yes')]
    config.write(open('userinfo.ini', 'w', encoding='utf-8'))  # 将修改重新写回文件
  • 相关阅读:
    51 Nod 1086 多重背包问题(单调队列优化)
    51 Nod 1086 多重背包问题(二进制优化)
    51 Nod 1085 01背包问题
    poj 2559 Largest Rectangle(单调栈)
    51 Nod 1089 最长回文子串(Manacher算法)
    51 Nod N的阶乘的长度 (斯特林近似)
    51 Nod 1134 最长递增子序列(经典问题回顾)
    51 Nod 1020 逆序排列
    PCA-主成分分析(Principal components analysis)
    Python中cPickle
  • 原文地址:https://www.cnblogs.com/zxc-Weblog/p/8342649.html
Copyright © 2011-2022 走看看