博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作业:实现简单的shell sed替换功能和修改haproxy配置文件
阅读量:6261 次
发布时间:2019-06-22

本文共 2583 字,大约阅读时间需要 8 分钟。

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

1 find_str='我有太多歌曲永远不会被唱起'2 replace_str='YOUTAIDUODEGEQUYONGYUANBUHUIBEICHANGQI'3 4 with open('yesterday','r',encoding='utf-8') as f,\5     open('yesterday.bak','w',encoding='utf-8') as f_new:6     for line in f:  # f为一个迭代器,按行迭代7         if find_str in line:8             line = line.replace(find_str, replace_str)  # 字符串替换replace函数9         f_new.write(line)

2.修改haproxy配置文件(节点搜索、添加和删除):

1 while True: 2  3     menu=input(''' 4 ------请选择功能------ 5 搜索节点请输入S: 6 添加节点请输入A: 7 删除节点请输入D: 8 退出请输入Q: 9 ''',)10 11     if menu=='S':12         website=input('请输入网址:')13         node='backend'+' '+website14         with open('haproxy.txt','r',encoding='utf-8') as f:15             count=016             N=-217             for line in f:#使用迭代占用内存小18                 if line.strip()==node:#去掉两边空格之后判断19                     N=count20                 if count==N+1:21                     print('''节点{_website}信息为:{_info}22                     '''.format(_website=website,_info=line.strip()))23                 count+=124             if N==-2:25                 print('该节点不存在')26             print(N)27 28     elif menu=='A':29         website=input('请输入您要添加的节点网址:')30         server=input('请输入您要添加的节点地址:')31         weight=input('请输入您要添加的节点weight:')32         maxconn=input('请输入您要添加的节点maxconn:')33         backend='backend'+' '+website34         record='        '+'server'+' '+server+' '+'weight'+' '+weight+' '+'maxconn'+' '+maxconn35 36         with open('haproxy.txt','a',encoding='utf-8') as f:37             f.write('\n')38             f.write(backend)39             f.write('\n')40             f.write(record)41             print('添加成功')42 43     elif menu=='D':44 45         website=input('请输入您要删除的节点网址:')46         backend='backend'+' '+website47 48         with open('haproxy.txt','r',encoding='utf-8') as f_read:49             readlines = f_read.readlines()50         with open('haproxy.txt','w',encoding='utf-8') as f_write:51 52             count=053             N=-254             for line in readlines:55                 count+=156                 if line.strip()==backend:#删除网址57                     N=count58                     continue59                 if count==N+1:#删除节点信息60                     print('已删除节点信息')61                     continue62                 f_write.write(line)63 64             if N==-2:65                 print('不存在该节点')66                 for line in readlines:67                     f_write.write(line)68     elif menu=='Q':69         break70     else:71         print('输入不合法')

 

转载于:https://www.cnblogs.com/BIT-taozhen/p/9787616.html

你可能感兴趣的文章
又一款开源手机要来了 —— WiPhone
查看>>
爬虫入门之反反爬虫机制cookie UA与中间件(十三)
查看>>
【飞天存储服务月报】2018年6月刊
查看>>
AJAX的一些硬知识
查看>>
第208天:jQuery框架封装(一)
查看>>
JNDIUtil、DBCPUtil、C3P0Util,三种数据源的工具类的区别?
查看>>
暴风魔镜裁员了,但是VR的春天依然在路上
查看>>
Java并发编程笔记之CyclicBarrier源码分析
查看>>
Weex在苏宁移动办公开发中是如何实践的?
查看>>
阿里倡导成立“罗汉堂”, 6名诺贝尔奖得主加入
查看>>
WebLogic 12c控制台上传获取webshell
查看>>
web3j 的 Infura Http 客户端
查看>>
[spring]03_装配Bean
查看>>
第116天: Ajax运用artTemplate实现菜谱
查看>>
Func和Action委托简单用法
查看>>
[20180322]查看统计信息的保存历史.txt
查看>>
Hbase1.4.0安装教程
查看>>
Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题
查看>>
Swift中的函数常见写法
查看>>
iOS开发实战 - 完美解决UIScrollView嵌套滑动手势冲突
查看>>