Python接口自动化实战:ConfigParser配置文件详解与封装
本文详细介绍Python中ConfigParser模块在接口自动化测试中的应用。涵盖配置文件的定义与作用,演示如何读取section、option及各类数据类型,讲解写入配置的方法,并提供一个实用的ConfigParser封装类,帮助提升代码复用性与维护效率。
Python ConfigParser配置管理实战
前言:当前绝大多数计算机程序,包括办公软件、浏览器乃至游戏和视频应用,均通过菜单界面系统进行配置,这已成为人机交互的默认模式。在Python生态中,同样存在一种配置模块,能够将代码逻辑与配置信息分离,实现代码的可配置化。
配置文件定义与必要性
什么是配置文件
此处的配置文件并非可视化的菜单界面,而是以类似代码的形式存在,具体示例如下:

❓为什么要做配置文件?
✔️核心目的在于使代码与配置均实现模块化与可配置化,从而提升代码的重用性。当某个参数在多处被引用且经常发生变化时,将其配置化是最佳实践。此时,只需修改配置文件即可,无需在代码多处进行重复修改。
Python提供了ConfigParser模块,它实现了一种基础的配置文件解析器语言,其结构类似于.ini文件。常见的配置文件格式包括.ini、.conf和.cfg。配置文件由两个基本对象组成:section(节)和option(选项)。一个配置文件可包含一个或多个section,每个section下又可包含多个option(键值对),如上图所示。
配置文件的读取方法
读取配置文件
与处理普通file文件类似,使用ConfigParser前需先打开文件以进行读取操作。常用方法如下:
read(filename):直接读取配置文件内容sections():以列表形式返回所有section名称options(section):获取指定section下的所有option名称items(section):获取指定section下的所有键值对get(section,option):获取指定section中option的值,以string类型返回getint(section,option):获取指定section中option的值,以int类型返回
以下图所示的conf.ini为例进行读取操作演示:
from configparser import ConfigParser
# 创建一个操作配置文件的对象(文件解析对象)
conf = ConfigParser()
# 读取配置文件
conf.read("conf.ini", encoding="utf8")
# 获取所有section
res2 = conf.sections()
print("这是res2:{}\n".format(res2))
# 获取对应section下的option
res3 = conf.options("logging")
print("这是res3:{}\n".format(res3))
# 获取对应section下的所有键值对
res4 = conf.items("logging")
print("这是res4:{}\n".format(res4))
# get方法:读取出来的内容,都是字符串
res5 = conf.get("logging", "level")
print("这是res5:{}".format(res5), type(res5))
# getint方法:读取出来的内容,都是int类型
res6 = conf.getint("mysql", "port")
print("\n这是res6:{}".format(res6), type(res6))
运行结果:
C:\software\python\python.exe D:/learn/test.py 这是res2:['logging', 'mysql']
这是res3:['level', 'f_level', 's_level']
这是res4:[('level', 'DEBUG'), ('f_level', 'DEBUG'), ('s_level', 'ERROR')]
这是res5:DEBUG <class 'str'>
这是res6:3306 <class 'int'>
Process finished with exit code 0
除了支持读取str和int类型外,ConfigParser还支持float和boolean类型,此处不再赘述示例。
配置语法细节与注意事项
🎈 小知识:
- 键值对之间可使用
=也可用:进行分隔 section名称是区分大小写的,而option不区分大小写- 键值对中,若首尾存在空白符,会被自动去除
- 配置文件中可写入注释,注释以
#或者;为前缀
配置文件的写入操作
写入配置文件
基本的写入方法如下:
add_section(section) :添加一个新的section;set( section, option, value) :对section中的option进行设置,设置后需调用write将内容写入配置文件
from configparser import ConfigParser
# 创建一个操作配置文件的对象(文件解析对象)
conf = ConfigParser()
conf.add_section('test')
conf.set('test', 'name', 'Amy')
conf.write(open('conf.ini', "a", encoding="utf-8"))
运行后查看conf.ini文件里面的内容:

ConfigParser工具类封装
ConfigParser的封装
一次封装,一劳永逸,后续可直接调用。封装内容可根据实际需求调整。
from configparser import ConfigParser
class MyConf:
def __init__(self, filename, encoding="utf8"):
self.filename = filename
self.encoding = encoding
self.conf = ConfigParser()
self.conf.read(filename, encoding)
def get_str(self, section, option):
return self.conf.get(section, option)
def get_int(self, section, option):
return self.conf.getint(section, option)
def get_float(self, section, option):
return self.conf.getfloat(section, option)
def get_bool(self, section, option):
def write_data(self, section, option, value):
self.conf.set(section, option, value)
self.conf.write(open(self.filename, "a", encoding=self.encoding))
if __name__ == '__main__':
print(conf.get_str("conf.ini", "test","name")) # 测试
总结
到此这篇关于python接口自动化 ConfigParser配置文件的使用的文章就介绍到这了,更多相关python接口自动化ConfigParser配置文件内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













