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'))  # 将修改重新写回文件
  • 相关阅读:
    使用gradle打包时将依赖也合并入jar包
    fiddler win10-1703Failed to register Fiddler as the system proxy
    VC编译选项 多线程(/MT)
    [转载]ACM(访问控制模型),Security Identifiers(SID),Security Descriptors(安全描述符),ACL(访问控制列表),Access Tokens(访问令牌)
    线程操作函数
    注册表使用技巧
    在github上参与开源项目日常流程
    盘点富人和穷人九大经典差异
    C++程序风格的思考
    mfc窗口,父窗口parentwindow,所有者窗口ownerwindow 区别
  • 原文地址:https://www.cnblogs.com/zxc-Weblog/p/8342649.html
Copyright © 2011-2022 走看看