configparser是python3中用来操作配置文件的库,在python2中叫configParser
1、配置文件
配置文件以ini为后缀,结构如下:(注意项option的key和value中间可以用=或者:连接)
(1)[]中人内容称为节:section;
(2)这种类似于key-value的称为项:option
(3);是配置文件中的注释符号
[HTTP] ;称为节:section
host:127.0.0.1 ;这种类似于key-value的称为option
scheme=http
port=8888
timeout=10.0
[EMAIL]
on_of=on
subject=api test automation
app=Outlook
2、读取配置文件中的内容(注意:节section的名字是区分大小写的,项option的名字不区分大小写)
import configparser
config=configparser.ConfigParser() #调用ConfigParser()类,获取对象
config.read('config.ini',encoding='utf-8') #将配置文件读到内存中
print(config.sections()) #读取所有节
section1=config['HTTP'] #读取HTTP这个节
print(section1)
print(section1['host']) #读取HTTP节下的host项的数据
print(section1.get('port'))#通过get方法读取HTTP节下的port项的数据
print(config['HTTP']['timeout']) #通过双下标读取HTTP节下的timeout项的数据
print(config.options('EMAIL')) #读取EMAIL节下的所有项
输出如下:
['HTTP', 'EMAIL']
<Section: HTTP>
127.0.0.1
8888
10.0
['on_of', 'subject', 'app']
3、更新配置文件
import configparser
config=configparser.ConfigParser() #调用ConfigParser()类
config.read('config.ini',encoding='utf-8') #将配置文件读到内存中,操作配置文件都需要
#更新已有内容,项option的值都是字符串类型,虽然ini文件中没加引号
config['HTTP']['timeout']='20.0'
config['HTTP']['host']='192.168.0.1'
#增加一个新的节section
config.add_section('MYSQL')
config.set('MYSQL','username','dba')
with open('config.ini','w') as fw:
config.write(fw)
运行脚本以后,配置文件变成如下:
[HTTP]
host = 192.168.0.1
scheme = http
port = 8888
timeout = 20.0
[EMAIL]
on_of = on
subject = api test automation
app = Outlook
[MYSQL]
username = dba