Python configparser模块应用过程解析
一、configparser模块是什么
可以用来操作后缀为.ini的配置文件;
python标准库(就是python自带的意思,无需安装)
二、configparser模块基本使用
2.1读取ini配置文件
#存在config.ini配置文件,内容如下: [DEFAULT] excel_path=../test_cases/case_data.xlsx log_path=../logs/test.log log_level=1 [email] user_name=32@qq.com password=123456
使用configparser模块读取配置文件
importconfigparser
#创建配置文件对象
conf=configparser.ConfigParser()
#读取配置文件
conf.read('config.ini',encoding="utf-8")
#列表方式返回配置文件所有的section
print(conf.sections())#结果:['default','email']
#列表方式返回配置文件email这个section下的所有键名称
print(conf.options('email'))#结果:['user_name','password']
#以[(),()]格式返回email这个section下的所有键值对
print(conf.items('email'))#结果:[('user_name','32@qq.com'),('password','123456')]
#使用get方法获取配置文件具体的值,get方法:参数1-->section(节)参数2-->key(键名)
value=conf.get('default','excel_path')
print(value)
2.2写入ini配置文件(字典形式)
importconfigparser
#创建配置文件对象
conf=configparser.ConfigParser()
#'DEFAULT'为section的名称,值中的字典为section下的键值对
conf["DEFAULT"]={'excel_path':'../test_cases/case_data.xlsx','log_path':'../logs/test.log'}
conf["email"]={'user_name':'32@qq.com','password':'123456'}
#把设置的conf对象内容写入config.ini文件
withopen('config.ini','w')asconfigfile:
conf.write(configfile)
2.3写入ini配置文件(方法形式)
importconfigparser
#创建配置文件对象
conf=configparser.ConfigParser()
#读取配置文件
conf.read('config.ini',encoding="utf-8")
#在conf对象中新增section
conf.add_section('webserver')
#在section对象中新增键值对
conf.set('webserver','ip','127.0.0.1')
conf.set('webserver','port','80')
#修改'DEFAULT'中键为'log_path'的值,如没有该键,则新建
conf.set('DEFAULT','log_path','test.log')
#删除指定section
conf.remove_section('email')
#删除指定键值对
conf.remove_option('DEFAULT','excel_path')
#写入config.ini文件
withopen('config.ini','w')asf:
conf.write(f)
上述3个例子基本阐述了configparser模块的核心功能项;
- 例1中,encoding="utf-8"为了放置读取的适合中文乱码;
- 例2你可以理解为在字典中新增数据,键:配置文件的section,字符串格式;值:section的键值对,字典格式;
- 例3中在使用add_section方法时,如果配置文件存在section,则会报错;而set方法在使用时,有则修改,无则新建。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。