Python标准库之ConfigParser模块

ConfigParser模块用于生成和修改常见配置文档。

比如配置文件格式如下:

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
 
[bitbucket.org]
User = hg
 
[topsecret.server.com]
Port = 50022
ForwardX11 = no

 

生成一个配置文件

import configparser

cfp = configparser.ConfigParser()

cfp['DEFAULT'] = {'ServerAliveInterval':'45','Compression':'yes','CompressionLevel':'9','ForwardX11':'yes'}
cfp['bitbucket.org'] = {'User':'hg'}
cfp['topsecret.server.com'] = {'Port':'50022','ForwardX11':'no'}

with open("test.ini",'w') as confile:
	cfp.write(confile)

  

运行后,在当前目录下生成了一个test.ini文件,文件内容如下:

 

 

读配置文件

defaults返回的是元组类型。

import configparser

cfp = configparser.ConfigParser()

cfp.read("test.ini")
print(cfp.defaults())
print(cfp.sections())
print(cfp['bitbucket.org']['user'])

 运行结果如下:

 

 

遍历读取

import configparser

cfp = configparser.ConfigParser()


cfp.read("test.ini")
for i in cfp.defaults():
	print(i,cfp.defaults()[i])

  运行结果:

 

 

 

 

增删

删section

cfp.read("test.ini")
sec = cfp.remove_section('bitbucket.org')
cfp.write(open('test.ini', "w"))

  

删option:

cfp.read("test.ini")
sec = cfp.remove_option('topsecret.server.com','port')
cfp.write(open('test.ini', "w"))

  

增section:

cfp.read("test.ini")
sec = cfp.add_section('xxxx.server.com')
cfp.write(open('test.ini', "w"))

  

 

增option:

cfp.read("test.ini")
sec = cfp.set('topsecret.server.com','port',"5002")
cfp.write(open('test.ini', "w"))

  

 

posted @ 2020-02-15 16:15  看不尽的尘埃  阅读(530)  评论(0编辑  收藏  举报