用于生成和修改常见配置文档,类似于字典的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)