配置文件学习(一)
配置文件:
以conf、ini为扩展名的文件
创建配置文件
testcase.conf
不要安装拓展,会有各种报错。
配置文件组成
区域名 区域名区分大小写、无需遵守python的命名规范
选项名 = 选项值 既可以使用绝对路径,又可以使用相对路径,无需使用双括号
testcase.conf配置文件示例:
# 这是一个配置文件 # 区域名 # 区域名区分大小写、无需遵守python的命名规范 [file path] # 选项名 = 选项值 case_path = testcase.xlsx # 用例文件名 log_path = record_run_result.txt # 日志文件名 [msg] success_result = Pass fail_result = Fail value1 = 1 value2 = 2.4 value3 = True value4 = on value5 = off value6 = false value7 = [10,30,'a',True]
读取配置文件
导入ConfigParser
# configparser是系统自带,不需要安装
from configparser import ConfigParser
1、创建配置解析器对象
config = ConfigParser()
2、指定读取的配置文件
# 文件既可以是绝对路径,又可以是相对路径
config.read("testcase.conf",encoding="utf-8")
3、读取数据(类型为字符串)
从配置文件中,使用方括号或者get读取的所有值都是字符串类型
方法一
one_value = config['file path']['case_path'] print(one_value) print(type(one_value))
方法二
two_value = config.get('msg','success_result') print(two_value) print(type(two_value))
运行结果: 从配置文件中,使用方括号或者get读取的所有值都是字符串类型
testcase.xlsx # 用例文件名 <class 'str'> Pass <class 'str'>
读取其他类型数据,非字符串类型
1、可以使用getint获取int类型的数据
three_value = config.getint('msg','value1') print(three_value) print(type(three_value))
运行结果:
1 <class 'int'>
2、可以使用getfloat,读取float类型的数据
four_value = config.getfloat('msg','value2') print(four_value) print(type(four_value))
运行结果:
2.4 <class 'float'>
3、可以使用getboolean获取,bool类型的数据
# 可以使用getboolean获取,bool类型的数据 # 1、yes、on、true、True——都会读取为True # 0、no、off、false、False——都会读取为False five_value = config.getboolean('msg','value3') print(five_value) print(type(five_value))
运行结果:
True <class 'bool'>
4、读取列表
eval函数
# 读取列表 one_list = config.get('msg','value7') # eval函数,能够将字符串转换为python中的内置类型 print(eval(one_list)) print(type(eval(one_list)))
运行结果:
[10, 30, 'a', True] <class 'list'>
eval函数扩展使用
# eval相当于把字符串的双引号或者单引号拿掉之后的类型
print(eval('10 + 2')) print(eval('(10,20)')) print(eval('{"name":"生如花开","age":19}'))
运行结果:
12 (10, 20) {'name': '生如花开', 'age': 19}