程序1: 实现简单的shell sed替换功能

import os,sys
old = sys.argv[]
new = sys.argv[]
file_name = sys.argv[]
tmp_file ="tmpfile"
open(tmp_file,"w")
file1 = open(file_name,"r")
file2 = open(tmp_file,"r+")
for line in file1:
if old in line:
line= str.replace(line,old,new)
file2.write(line)
if new not in line:
file2.write(line)
file2.flush()
file1.close()
file2.close() os.remove(file_name)
os.rename(tmp_file,file_name)
 程序2:修改haproxy配置文件 

 
import os
def select(backend):
result = []
flag = False
with open("haproxy.conf","r",encoding="UTF-8") as f:
for line in f:
if line.strip() == "backend %s" %(backend):
flag = True
continue
if line.strip().startswith("backend"):
flag = False
if flag:
line = line.strip()
result.append(line)
for i in result:
if i == "":
result.remove(i)
for i in result:
print(i)
return i def append(backend):
with open("haproxy.conf","a",encoding="UTF-8") as f:
f.write("%sbackend %s%s%8sserver %s %s weight %s maxconn %s"%("\n",backend[],"\n","\b",backend[],backend[],backend[],backend[])) def delete(backend):
file1 = open("haproxy.conf","r",encoding="UTF-8")
file2 = open("haproxy.new","w+",encoding="UTF-8")
flag = False
for line in file1:
if backend in line:
flag = True
continue
elif flag:
flag = False
else:
file2.write(line)
file1.close()
file2.close()
os.remove("haproxy.conf")
os.renames("haproxy.new","haproxy.conf") def update(backend,select):
print("您要修改的是:%s"%(select))
delete(backend)
backend=[]
backend_message = input("例:www.baidu.com 192.168.1.1 200 2000\n请输入修改后的新信息:")
append(backend_message.split(" ")) if __name__ == "__main__":
while True:
print(u"%s\n1.查找记录\n2.添加记录\n3.删除记录\n4.修改记录\n5.退出程序\n"%("".center(,"-")))
case=int(input("case input number:"))
if case == :
backend=[]
backend_message = input("例:www.baidu.com 192.168.1.1 200 2000\n请输入相关信息:")
append(backend_message.split(" "))
elif case == :
select(input("例:www.baidu.com\n请输入要查找的backend:"))
elif case == :
delete(input("例:www.baidu.com\n请输入要删除的backend:"))
elif case == :
backend=input("例:www.baidu.com\n请输入要修改的backend:")
update(backend,select(backend))
elif case == :
exit("已经退出程序")
else:
print("\033[1;31;47m请输入正确case指令\033[0m")
 
 

day3的更多相关文章

  1. 冲刺阶段day3

    day3 项目进展 今天周三,我们五个人难得的一整个下午都能聚在一起.首先我们对昨天的成果一一地查看了一遍,并且坐出了修改.后面的时间则是做出 登录界面的窗体,完善了登录界面的代码,并且实现了其与数据 ...

  2. python笔记 - day3

    python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...

  3. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  4. Spark菜鸟学习营Day3 RDD编程进阶

    Spark菜鸟学习营Day3 RDD编程进阶 RDD代码简化 对于昨天练习的代码,我们可以从几个方面来简化: 使用fluent风格写法,可以减少对于中间变量的定义. 使用lambda表示式来替换对象写 ...

  5. Spark Tungsten揭秘 Day3 内存分配和管理内幕

    Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据 ...

  6. Catalyst揭秘 Day3 sqlParser解析

    Catalyst揭秘 Day3 sqlParser解析 今天我们会进入catalyst引擎的第一个模块sqlparser,它是catalyst的前置模块. 树形结构 从昨天的介绍我们可以看到sqlPa ...

  7. Kakfa揭秘 Day3 Kafka源码概述

    Kakfa揭秘 Day3 Kafka源码概述 今天开始进入Kafka的源码,本次学习基于最新的0.10.0版本进行.由于之前在学习Spark过程中积累了很多的经验和思想,这些在kafka上是通用的. ...

  8. python s12 day3

    python s12 day3   深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  9. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  10. 三校联考 Day3

    三校联考 Day3 大水题 题目描述:给出一个圆及圆上的若干个点,问两个点间的最远距离. solution 按极角排序,按顺序枚举,显然距离最远的点是单调的,线性时间可解出答案. 大包子的束缚 题目描 ...

随机推荐

  1. FineUI(专业版)实现百变通知框(无JavaScript代码)!

    博客园已经越来越不公正了,居然说我这篇文章没有实质的内容!! 我其实真的想问哪些通篇几十个字,没任何代码和技术分享,嚷嚷着送书的文章的就能雄霸博客园首页几天,我这篇文章偏偏就为管理员所容不下. 其实我 ...

  2. C#基础系列——Attribute特性使用

    前言:上篇 C#基础系列——反射笔记 总结了下反射得基础用法,这章我们来看看C#的另一个基础技术——特性. 1.什么是特性:就博主的理解,特性就是在类的类名称.属性.方法等上面加一个标记,使这些类.属 ...

  3. [译]用AngularJS构建大型ASP.NET单页应用(一)

    原文地址:http://www.codeproject.com/Articles/808213/Developing-a-Large-Scale-Application-with-a-Single 渣 ...

  4. java中使用MD5加密技术

    在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...

  5. java 异步处理

    详情请看:http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315645.html 引入ExecutorService 类 private st ...

  6. ResourceHacker(4.5.30)单文件绿色汉化版

    经常编译软件的人,肯定会使用一些编译和反编译的工具,ResourceHacker作为一款资源编译工具,非常的小巧好用,ResourceHacker没有任何广告,支持打开.exe..dll..scr.. ...

  7. bzoj2038小z的袜子

    用平面曼哈顿距离最小生成树或者莫队算法都可以吖QwQ~ 然而显然后者更好写(逃~) 莫队怎么写就看图吧QwQ~ 话说我一开始没开long long然后拍了3000组没拍出错交上去Wa了QAQ #inc ...

  8. Bzoj1597 [Usaco2008 Mar]土地购买

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4005  Solved: 1460 Description 农夫John准备扩大他的农场,他正在考虑N ...

  9. Alpha阶段第四次Scrum Meeting

    情况简述 Alpha阶段第四次Scrum Meeting 敏捷开发起始时间 2016/10/25 00:00 敏捷开发终止时间 2016/10/26 00:00 会议基本内容摘要 做出了将网络通讯接口 ...

  10. NodeJs + mongodb模块demo

    代码比较通俗易懂,但是我还是在这个过程中浪费了不少时间,也算是看到了nodejs中异步的一个小坑.未来的坑还有很多,慢慢找坑填坑吧. 参考资料如下: 1.断言模块 : https://nodejs.o ...