configparser模块——用于生成和修改常见配置文档

  • 配置文档格式
  • 1 [DEFAULT]
    2 ServerAliveInterval = 45
    3 Compression = yes
    4 CompressionLevel = 9
    5 ForwardX11 = yes
    6 
    7 [bitbucket.org]
    8 User = hg
    配置文档文件格式
  • 解析配置文件:查询
  •  1 #-*- coding:utf-8 -*-
     2 #解析配置文件
     3 import configparser
     4 config = configparser.ConfigParser()
     5 print(config.sections())#[],此时打印为空,因为还没有读文件呢
     6 config.read("example.ini")
     7 print(config.sections())#打印节点['bitbucket.org', 'topsecret.server.com']
     8 if 'bitbucket.org' in config:  #判断该节点是否在配置文件中
     9     print('true')
    10 print(config['bitbucket.org']['User'])#hg,查询value值,操作方式和字典一样
    11 print(config['DEFAULT']['Compression'])#yes,查询value值,操作方式和字典一样
    12 topsecret = config['topsecret.server.com']
    13 print(topsecret['ForwardX11'])#no
    14 print(topsecret['Port'])#50022
    15 
    16 for key in config['bitbucket.org']:#用for循环打印,除打印除'bitbucket.org'内的key,也会打印出'default’中的key,
    17                                         # 'default'中的内容是默认每个节点模块共享的,这样可以避免重复写
    18     print(key)#user serveraliveinterval  compression  compressionlevel forwardx11
    解析配置文件
  • 其他增删改查语法
  •  1 import configparser
     2 config = configparser.ConfigParser()
     3 config.read('example.ini')
     4 secs = config.sections()#获取节点
     5 print(secs)#['bitbucket.org', 'topsecret.server.com']
     6 options = config.options('bitbucket.org')#获取某一节点下的KEY
     7 print(options)#['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
     8 item_list = config.items('bitbucket.org')#获取某一节点下的KEY,value
     9 print(item_list)#[('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
    10 val = config.get('bitbucket.org','serveraliveinterval')
    11 print(val)#45,str格式
    12 val = config.getint('bitbucket.org','serveraliveinterval')
    13 print(val)#45,int格式
     
  • import configparser
    config = configparser.ConfigParser()
    config.read('example.ini')
    #remove section
    # sec = config.remove_section('bitbucket.org')#移除'bitbucket.org'节点
    # print(sec)##True:移除成功,False:移除失败(内容不存在)
    # config.write(open('example.ini','w'))#写
    #Add section
    # sec = config.has_section('group1')#判断该节点是否存在
    # print(sec)#False:不存在,True:存在
    # sec = config.add_section('group1')#添加,如果已经存在,会报错
    # config.write(open('example.ini','w'))
    
    #add option
    # config.set('group1','K1','11111')#给group1节点添加内容,如果group1不存在,会报错
    # config.write(open('example.ini','w'))
    
    #remove option
    # sec = config.remove_option('group1','K1')#移除option
    # print(sec)#True:移除成功,False:移除失败(内容不存在)
    # config.write(open('example.ini','w'))
    remove,add
原文地址:https://www.cnblogs.com/GraceZ/p/7941141.html