函数编程02--配置文件创建及读取

配置文件

配置文件
    至少可以分出:接口服务器、数据库服务器
    配置文件存储服务器的相关信息(主要包括IP地址、端口号、应用名、接口名、数据库用户名、数据库密码、数据库端口号、数据库名等)
    一般一个配置文件只存储一种服务器的相关信息,通常把多个接口服务器的信息存在同一个配置文件中,把多个数据库服务器信息存储在另一个配置文件中:
    配置文件的写法:
        [自定义节点名1]
        IP=172.166.100.65
        port=80
        [自定义节点名2]
        IP=172.166.100.66
        port=8080
    讲课中的案例:
        exam项目:exam/login/ 、exam/signup/ 端口号80
        发布会项目:sign/接口名,端口号是8080
    配置文件的意义
        测试过程中可能会配备多台测试服务器、多台数据库服务器,可以把使用的服务器环境配置情况写入配置文件
    配置文件的扩展名
        可以是.ini、.cfg、.conf、.config、.txt等
    配置文件的格式
        [节名1] -- 节名   节点名 建议书写英文单次或拼音
        键1=值1
        键2=值2
        ....
        [节名2]  --  一个节名 代表一个服务器
        键3=值3  ;注释  结尾加;书写注释

创建server.conf文件

用于记录接口服务器的相关配置信息
    [host-211] ;服务器1,自定义名称,不重复
    ;接口地址格式:http://IP:端口号/path?参数
    ip=172.166.0.211
    port=80
    [host-104] ;服务器2
    ip=192.168.0.104
    port=8080

配置project_h1目录下server.conf文件

[exam] ;书写内容公司会有相应文档 exam项目:包括登录和注册接口
IP=192.168.175.128
port=80

[sign];发布会项目:添加发布会、查询发布会
IP=192.168.175.128
port=8080

创建db.conf文件

用于记录数据库服务器的相关配置信息
    [mysql-211] ;数据库服务器1
    host=172.166.0.211
    port=3306
    user=root
    password=123456
    db=exam
    [mysql-104] ;数据库服务器2
    host=192.168.0.104
    port=3306
    user=root
    password=123456
    db=exam

配置project_h1目录下db.conf文件

[exam] ;exam项目 上课的案例
host=192.168.175.128
port=3306
user=root
password=123456
db=exam
[sign] ;发布会项目 上课的练习
host=192.168.175.128
port=3306
user=root
password=123456
db=guest

创建entry.ini文件

被测接口和数据库的入口地址
    在每次执行测试之前,手动修改此文件
    用于指定本次测试要使用的server.conf节名和db.conf节名
    [entry]
        which_server=host-211
        which_db=mysql-211

配置project_h1目录下entry.ini文件

[entry];入口:用于指定测试使用的服务器
which_server = exam
which_db = exam

读配置文件的步骤

导包
    import configparser
创建ConfigParser对象
    confile=configparser.ConfigParser()
读配置文件
    confile.read('配置文件名')
        文件中有中文字符时,需用encoding='utf-8'指定字符编码
获取节名和键值
    var=confile.get('节名','键名')
        返回类型为字符串

读配置文件entry.ini,输出配置信息

"""
    读配置文件entry.ini,输出配置信息
    步骤:
        1.导入configparser
        2.创建ConfigParser对象
        3.读文件
        4.取数据
        5.输出/返回数据
"""
import configparser
def read_entry():# 定义函数define:读入口函数
    confile = configparser.ConfigParser()# 创建对象  这里是CinfigParser类
    confile.read('entry.ini',encoding='utf-8')#左边不要写=,输入数据存入confile对象中;只要有中文就要加字符编码
    which_server = confile.get('entry','which_server')#将本次测试的接口服务器名读出
    which_db = confile.get('entry','which_db')# 将本次测试的数据库服务器名读出
    return which_server,which_db
print(read_entry())# 调用函数,函数中有return,则不能省略print()

读配置文件server.conf

"""
    读配置文件server.conf,输出配置信息
"""
import configparser # 配置转换
def read_server(section,interface):# 读取接口服务器信息,参数为节点名section,section为形式参数
    confile = configparser.ConfigParser()
    confile.read('server.conf',encoding='utf-8')
    ip = confile.get(section,'IP')# 取节点、键
    port = confile.get(section,'port')
    host = 'http://'+ip+':'+port+'/'+interface
    return host
# 调用函数
print(read_server('exam','exam/login.php'))# 看exam项目的接口地址
print(read_server('sign','sign/login_cathion/'))# 看发布会项目sign的接口地址

读配置文件db.conf

"""
    读配置文件db.conf,输出配置信息
    1.导入configparser
    2.创建对象
    3.读文件
    4.根据节点名和键名读数据
    5.根据需要,组装数据,返回结果
"""
import configparser


def read_db(which_db):  # which_db代表哪一个数据库服务器
    confile = configparser.ConfigParser()
    confile.read('db.conf', encoding='utf-8')
    host = confile.get(which_db, 'host')  # 取数据库主机名
    port = confile.get(which_db, 'port')  # 端口号
    user = confile.get(which_db, 'user')  # 数据库用户名
    password = confile.get(which_db, 'password')  # 数据库密码
    db = confile.get(which_db, 'db')  # 数据库名
    # 考虑到连接数据库时,语法是:connect(host=,user=)
    # 用字典可以很容易的转化为host=这种形式
    dbinfo = {'host': host, 'port': int(port), 'user': user, 'password': password, 'db': db}
    return dbinfo


print(read_db('exam'))  # exam节点名称
# print(read_db('sign'))

上一篇:前后端博客项目搭建(1) 数据库Mybatis-plus与spring-boot整合


下一篇:php yaconf扩展