配置文件学习(一)

配置文件:

                  以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}
原文地址:https://www.cnblogs.com/taiyangfeng/p/11823616.html