下面的程序实现了对配置文件的查询及增加,主要用到了自定义函数,格式化传递参数,文件的打开,写入功能.

配置文件如下:

global        log 127.0.0.1 local2        daemon        maxconn 256        log 127.0.0.1 local2 infodefaults        log global        mode http        timeout connect 5000ms        timeout client 50000ms        timeout server 50000ms        option  dontlognull

listen stats :8888        stats enable        stats uri       /admin        stats auth      admin:1234

frontend oldboy.org        bind 0.0.0.0:80        option httplog        option httpclose        option  forwardfor        log global        acl www hdr_reg(host) -i www.oldboy.org        use_backend www.oldboy.org if www

backend www.oldboy.org        server 100.1.7.9 weight 20 maxconn 3000

要求实现:

1、查    输入:www.oldboy.org    获取当前backend下的所有记录
2、新建    插入:        arg = {            'bakend': 'www.oldboy.org',            'record':{                'server': '100.1.7.9',                'weight': 20,                'maxconn': 30            }        }
def add(dic):backendtitle = "backend %s" %(dic['bakend'])flag = Falses1 = 'server {server} weight {weight} maxconn {maxconn}'with open('ha', 'r+') as f:for line in f:line = line.strip()   #把每行最前面的空格去掉复制个line然后做比较if line == backendtitle:flag = Truecontinueif flag and line.startswith('backend'):flag = Falsepassif flag and line:result = s1.format(**(dic['record']))    #格式化传参数,具体使用方法见58f.read()f.write('\n        %s'%result)a = {'bakend': 'www.oldboy.org', 'record': {'server': '100.1.7.9', 'weight': 20, 'maxconn': 30}}
b = {'bakend': 'www.oldboy.org', 'record': {'server': '100.1.7.199', 'weight': 10, 'maxconn': 20}}
# # s1 = 'server {server} weight {weight} maxconn {maxconn}'
# result = s1.format(**(a['record']))
# print(result)
# print(a['record'], type(a['record']))
add(a)
add(b)

def lookup(site):backendtitle = 'backend %s' % siterecord_list = []flag = Falsewith open('ha') as f:for line in f:line = line.strip()if backendtitle == line:     #找到baackend 那行后不做动作flag = Truecontinueif flag and line.startswith('backend'):    #如果line以backend开头,flag= False 并跳整个循环,从for重新开始flag = Falsebreakif flag and line:record_list.append(line)return record_listresult = lookup("www.oldboy.org")
print(result)

  

转载于:https://www.cnblogs.com/jack410/p/6477077.html

自动化查询及增加配置参数功能相关推荐

  1. java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示

    目录 1.题目说明 2.实验设计 2.1 表设计 2.2 工程结构 3.运行界面截图与说明 4.小结 附录:源代码 src/main/java src/main/java/bean Goods.jav ...

  2. 传奇版本添加npc修改增加npc方法以及配置参数教程

    传奇版本添加npc修改增加npc方法以及配置参数教程,修改版本最基本的一种运用技术 1.D:\mirserver\Mir200\Envir\Merchant.txt 添加NPC参数与配置文件 2.D: ...

  3. seci-log 1.11 发布 增加了ftpserver,远程ftp,sftp采集简化配置等功能

    2019独角兽企业重金招聘Python工程师标准>>> 日志分析软件 seci-log 1.11发布,增加了增加了ftpserver,远程ftp,sftp采集简化配置等功能.上篇文章 ...

  4. 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能...

    from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...

  5. 抖音短视频数据抓取实战系列(九)——自动化Appium的环境与参数配置

    抖音短视频数据抓取实战系列(九)--自动化Appium的环境与参数配置 项目目录 1.抖音短视频数据抓取实战系列(〇)--前言 2.抖音短视频数据抓取实战系列(一)--模拟器的选择与设置 3.抖音短视 ...

  6. 三星三防s8计算机功能在哪里,三星s8三防版怎么样 三防版三星s8配置参数介绍...

    三星s8三防版怎么样 三防版三星s8配置参数介绍 来源:www.18183.com作者:似水流年时间:2017-06-26 三星s8三防版怎么样呢?本文小编为您带来三星s8三防版怎么样 三防版三星s8 ...

  7. mysql配置参数调优(8GB内存和64GB内存)

    文章目录 一.前言 二.查看服务器的CPU和内存 1.查看CPU的个数 2.查看服务器的内存 3.数据库版本 三.64GB内存的mysql配置参数 四.本机8GB内存的mysql配置参数 1.查看数据 ...

  8. Postfix 配置参数速查

    本附录按照字母顺序,列出可在main.cf配置文件里设定的参数,并简略说明各参数的意义或用途.本附录只能算是postfix参数的"速查参考". 所有参数都有一个默认值(虽然某些默认 ...

  9. 服务器部署的参数文档,服务器的基本配置参数

    服务器的基本配置参数 内容精选 换一换 该任务指导用户使用Loader将数据从FTP服务器导入到HBase.创建或获取该任务中创建Loader作业的业务用户和密码.获取FTP服务器使用的用户和密码,且 ...

  10. Doris FE配置参数(全面)

    Doris FE配置参数 该文档主要介绍 FE 的相关配置项. FE 的配置文件 fe.conf 通常存放在 FE 部署路径的 conf/ 目录下. 而在 0.14 版本中会引入另一个配置文件 fe_ ...

最新文章

  1. 线性回归介绍及分别使用最小二乘法和梯度下降法对线性回归C++实现
  2. 信息增益有负值吗_一个自动化设备的信息化改造项目,谈谈自动化工程师转型之路—IT融合OT...
  3. Hadoop学习笔记—4.初识MapReduce
  4. 双指针算法之滑动窗口 | 力扣76.最小覆盖字串
  5. sigmastarSSD201/SSD202 github上开源了!
  6. 微机原理换行代码_东华大学微机原理课程设计--代码转换
  7. IT围城,你是想挤进来还是想离开
  8. Mybatis简介与原理
  9. tf.contrib在tf2中无法使用
  10. 学影视模型还是游戏模型更有前景?
  11. Windows live messenger (WLM)邀请大放送--MSN8.0版(有条件)
  12. Word 中几个较有用的宏
  13. 用matlab做仿真实验难不难,SIMULINK仿真实验心得体会
  14. imitate wechat - 4
  15. 世界杯数据清单:真球迷看球必备,伪球迷速成指南(附数据amp;论文)
  16. 实时数据库简介和比较
  17. Java 服务接入 OpenTracing(2) -- Java 项目快速接入 OpenTracing
  18. 美国国土安全部试图商业化的八种网络安全新技术
  19. Mixly 触摸开关的使用
  20. 10.25软件测试学习总结

热门文章

  1. pycharm设置工程运行环境
  2. 目前最常用的计算机机箱类型为_2016年秋计算机基础理论题 答案解析
  3. LDA话题模型与推荐系统
  4. OpenCV-Python教程(5、初级滤波内容)
  5. 【HDU - 4565】So Easy!【数学思维题】
  6. excel查找空值快捷键_有了这7个Excel中常用的小技巧,再也不用担心自己要加班了!...
  7. 使用JavaMail发送邮件-从FTP读取图片并添加到邮件正文发送
  8. 2018年度总结(阉割版)
  9. [解决]RESTEASY003215: could not find writer for content-type text/html type: java.lang.String
  10. 软件需求分析(补发)