给出的配置文件:configuration.cfgfrontend testserver
servername 10.5.7.9
IP 10.5.7.9
port 8080
backend Oracle
servername 10.5.7.11 IP 10.5.7.11 weight 20 maxconn 2000
servername 10.5.7.12 IP 10.5.7.12 weight 30 maxconn 3000
frontend pubserver
servername 10.5.7.13
IP 10.5.7.13
port 80
backend mysql
servername 10.5.7.15 IP 10.5.7.15 weight 20 maxconn 2000
servername 10.5.7.16 IP 10.5.7.16 weight 30 maxconn 3000
目标:用Python编写脚本,实现用户对该配置文件中backend系列中的各类服务器的进行添加、修改、查看、删除等操作。
分析:
一、解析成如下字典方式:具体结构:
{"backend" : "Oracle",
"server":{
"server":"101.1.7.9"
"weight":"30"
"maxconn":"300"
}
对应关系:
{sys_zone_name_ky:srv_zone_name_vl,
svr_name_ky:{
svr_record_dict_vl{}
}
}
svr_zones_all_dict =
{svr_name_ky:{svr_record_dict_vl{}} ### 记录各服务器的详细信息 ###
#################################################################
系统展示函数:sys_show内表述关系:
{sys_zone_name:srv_zone_name,
svr_name:{
svr_record_dict{}
}
}
svr_zones_dict =
{svr_name:{svr_record_dict{}}
'''
说明:对于orderedDict()和defaultdict(list),enumerate()等需要认真查看其使用方法。
练习了在Python中字典、列表、函数,流程,格式,文件操作、使用等等。
二、流程图:
本程序的不足,未对服务器进行参数对比,出现了相同参数服务器重复不报错的问题。以后改进吧。