给出的配置文件:configuration.cfg
frontend 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中字典、列表、函数,流程,格式,文件操作、使用等等。
二、流程图:
本程序的不足,未对服务器进行参数对比,出现了相同参数服务器重复不报错的问题。以后改进吧。
本文出自 “HiSea乐园” 博客,请务必保留此出处http://hisea.blog.51cto.com/1093265/1920777
原文:http://hisea.blog.51cto.com/1093265/1920777