python--对配置文件进行搜索,增加新的内容
要求:
文件haproxy
1、查 输入:www.oldboy.org 获取当前backend下的所有记录
2、新建 输入: arg = {'backend': 'www.oldboy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}}
实现:
1、文件open close readline write
2、字符串strip split
'''
1、查
输入:www.oldboy.org
获取当前backend下的所有记录 2、新建
输入:
arg = {'backend': 'www.oldboy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}}
'''
def search(word,file='haproxy'):
fd=open(file,'r',encoding='utf-8')
data=fd.readline()
while data:
if word not in data or 'backend' not in data:
data=fd.readline()
else:
data=fd.readline()
while data \
and 'global' not in data \
and 'defaults' not in data \
and 'listen' not in data \
and 'frontend' not in data:
print(data)
data=fd.readline()
fd.close()
return True def addnew(word,file='haproxy'):
fd=open(file,'a',encoding='utf-8')
arg=eval(word)
for key in arg:
if key=='global' or key=='defaults' or key=='listen' or key=='frontend' or key=='backend':
fd.write(key+' '+arg[key]+'\n')
else:
data= arg[key]
wdata=''
for k in data:
wdata=wdata+' '+k+' '+str(data[k])
fd.write('\t'+wdata+'\n')
fd.close()
return #脚本主程序
flag=True
while flag:
choice=input("请输入您需要对haproxy文件进行的操作。\n1 查找 \n2 插入 \nq 退出\n")
if choice=='':
print("输入域名,可以找到backend下所有记录。")
sword=input("请输入您要查找的域名,如:www.oldboy.org:")
search(sword)
elif choice=='':
print("要插入的记录,写成字典格式。")
sword=input("请输入:")
addnew(sword)
elif choice=='q':
flag=False
else:
print("我不知道您要干什么。")
python--对配置文件进行搜索,增加新的内容的更多相关文章
- python练习笔记——用函数对列表奇偶分类,且过程不增加新列表
编写一个函数:函数接收一个列表,将列表中所有的奇数,放到偶数之前,要求过程中不增加新的列表 def fun(*args): # 因为奇数放在偶数之前,标记出奇数中的偶数 # 并将该偶数取出放在数列的最 ...
- Python中配置文件解析模块-ConfigParser
Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置).配置文件的格式是: []包含的叫section, section 下有option=value ...
- SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-010-Introduction为类增加新方法@DeclareParents、<aop:declare-parents>
一. 1.Introduction的作用是给类动态的增加方法 When Spring discovers a bean annotated with @Aspect , it will automat ...
- Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法
Mac上其实已经自带了Apache和PHP,只是默认关闭的.开启一下就行了. Apache配置 apache已经自带了,只需在“终端”输入命令开启下就行了. 开启apache服务 sudo ap ...
- Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)
不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...
- Python tricks(1) -- 动态定义一个新变量
python是动态语言, 无需声明变量即可使用. 传递一个tuple, list或者dict等等方式, 有时候这种方式的使用不是很好. 对于tuple和list来说都是用下标的访问方式(即使用[]), ...
- ECSHOP 商品字段增加新字段的方法
结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:n ...
- 在AndroidStudio v1.2.0中导入或增加新项目或工程(导入第三方类库或工程)
以下说明基于AndroidStdudio版本v1.2 由于AndroidStudio项目止录与Eclipse中的Worksapce在意义上的改变,所以导入新包或建立新项目时并不和以前那样了. 下面是我 ...
- vbox中虚拟ubuntu增加新的虚拟硬盘
vbox中虚拟ubuntu增加新的虚拟硬盘 在virtualbox中装好Ubuntu后,发现硬盘空间不够使用 了.以下是搜集整理的解决办法: 1. 添加新硬盘 设置 -> ...
随机推荐
- 从.net到java,记录下这三个月的工作
从事.NET开发已经4个年头,经过十余个项目的学习与沉淀,终于有了一套自己熟悉并且相对完善的技术体系,面对未知,不再惧怕.期间完成并广泛用于公司项目的作品包括: abp的二次开发框架BodeAbp 基 ...
- Xen创建新虚拟机
一.添加一个ISO存储: 右键选择"New Storage Repository-" 选择"ISO Library"中的"Windows File S ...
- CSS3基础(4)——CSS3 渲染属性
一. CSS3 计数器详解 CSS3计数器(CSS Counters)可以允许我们使用CSS对页面中的任意元素进行计数,实现类似于有序列表的功能. 与有序列表相比,它的突出特性在于可以对任意元素 ...
- html5/css3布局(一)
响应式布局 1.响应式布局介绍 响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,就是一个网页可以在不同设备上显示,比如:电脑.平板.手机等,不同设备都可以兼容显示.这样就不必为每一种 ...
- Java的static和final关键字的用法
static关键字的用法 static的意思是"'静态的",在java里面可用于修饰属性和方法. static关键字的应用应注意以下几种情形: 1.static作用于某个字段,一个 ...
- Ajax 学习笔记
什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味 ...
- CentOS 7 服务器配置--配置iptables防火墙
#检查服务器是否安装了iptables systemctl status iptables.service #安装iptables yum install -y iptables #更新iptable ...
- mysql-索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将 ...
- Centos7安装mysql-5.7.19
Centos7安装Mysql 一 mysql下载 地址: https://dev.mysql.com/downloads/mysql/#downloads 二 在centos7上创建安装文件存放.解压 ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(二)示例
一.搭建RTSP服务器 要想测试RTSP客户端,没有服务端怎么行呢?然而,有时候条件有限,手头并没有独立的RTSP服务器拿来用,那么我们不妨自己撘一个. 以下有2种方便的做法可供选择: 第一种:使用v ...