configparser模块

用于生成和修改常见配置文档,类似于字典的key-value的数据表达处理方式

configparser方法

config=configparser.ConfigParser()     #创建ConfigParser实例 

config.read(filename)      #读取配置文件

config.sections      #返回配置文件中节序列

config.options(section)   #返回某个项目中的所有键的序列

config.get(section,option)  #返回section节中,option的键值

config.add_section(str)  #添加一个配置文件节点(str)

config.set(section,option,val)  #设置section节点中,键名为option的值(val)  

config.remove_section("xujinbo")    #删除节点
config.remove_option('alex','age')   #删除option

items=config.items(section)  #得到该section的所有键值对

使用configparser模块创建配置文件

import configparser

config=configparser.ConfigParser()
config["DEFAULT"]={"ServerAliveTnterval":'45',
                   'Compression':'yes',
                   'CompressionLevel':'9'}
config['xujinbo']={}
config['xujinbo']['age']='26'
config['Adress']={}
d=config['Adress']
d['Host Port']='50022'
d['Forward']='no'
with open('example','w') as configfile:
    config.write(configfile)

"""
[DEFAULT]
serveralivetnterval = 45
compressionlevel = 9
compression = yes

[xujinbo]
age = 26

[Adress]
host port = 50022
forward = no
"""

使用configparser模块增删改查配置文件

import configparser
config=configparser.ConfigParser()
config.read('example')

#返回配置文件中节序列  
print(config.sections())

#返回某个节序列中的所有option  
print(config.options('xujinbo'))
print(config.options('Adress'))

#返回section节中,option的键值 
print(config.get('xujinbo','age'))
print(config.get('Adress','Host Port'))

#添加一个配置文件节点(str) 
config.add_section('alex')
config['alex']['age']='30'
config['alex']['job']='free teather'
print(config.sections())

#设置section节点中,键名为“alex”(option)的值
config.set('alex','age','31')
config.set('alex','good_at','python')
config.write(open('example2','a+'))   #实际中为'w',此处为了表达其效果

#删除
config.remove_section("xujinbo")  #删除节点
config.remove_option('alex','age')  #删除option
config.write(open('example2','w'))  #查看文件,对比上一个的a+,发现它自动去重了
(只在乎第一次发现的同名节点)

#得到该section的所有键值对
config2=configparser.ConfigParser()
config2.read('example2')
for section in config.sections():
    items=config2.items(section)  #list
    for k,v in items:
        print(k,v)

你可能感兴趣的:(configparser模块)