1. Python作业

  HAproxy配置文件操作 -> 完成

def fetch(backend):result = []with open('ha.conf', 'r', encoding='utf-8') as f:flag = Falsefor line in f:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truecontinueif flag and line.strip().startswith('backend'):flag = Falsebreakif flag and line.strip():result.append(line.strip())return resultdef add(backend, record):record_list = fetch(backend)#print(record_list)if not record_list:   # backend不存在with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:for line in old:new.write(line)new.write('\n\nbackend ' + backend + '\n')new.write(' ' * 8 + record + '\n')else:     # backend存在if record in record_list:            # record已经存在import shutilshutil.copy('ha.conf', 'new.conf')else:                        # backend存在,record不存在rd_list = record.split()ip_str = ' '.join(rd_list[1:3])#print(ip_str)record_str = ''.join(record_list)#print(record_str)if ip_str not in record_str:                     # backend存在,record中sever中ip不存在:#print(record_list)record_list.append(record)with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truenew.write('\n' + line)for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)else:                    # backend存在,record中sever中ip存在:#print(record_list)for i in record_list:if ip_str in i:record_list.remove(i)record_list.append(record)with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truenew.write('\n' + line)for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)import shutilshutil.copy('new.conf','ha.conf')def modify_1(backend, new_backend):            # 仅更改backendrecord_list = fetch(backend)if not record_list:print('backend not exist')else:with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truenew.write('\nbackend ' + new_backend + '\n')for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)shutil.copy('new.conf', 'ha.conf')def modify_2(backend, record, new_backend, new_record):        # 更改backend下的recordrecord_list = fetch(backend)if not record_list:print('backend not exist')elif record not in record_list:print('record not exist')else:for i in record_list:if record == i:record_list.remove(i)record_list.append(new_record)with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truenew.write('\nbackend ' + new_backend + '\n')for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)shutil.copy('new.conf', 'ha.conf')def delete(backend, record):record_list = fetch(backend)if not record_list:print('backend not exist')elif record not in record_list:print('record not exist')else:with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:if len(record_list) > 1:        # 不删backend,只删一项recordfor i in record_list:if i == record:record_list.remove(i)flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = Truenew.write('\n' + line)for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)else:         # backend和record都删for i in record_list:if i == record:record_list.remove(i)flag = Falsefor line in old:if line.strip().startswith('backend') and line.strip() == 'backend ' + backend:flag = True#new.write('\n' + line)for new_line in record_list:new.write(' ' * 8 + new_line + '\n')new.write('\n')continueif flag == True and line.strip().startswith('backend'):flag = Falsenew.write(line)continueif not flag and line.strip():new.write(line)shutil.copy('new.conf', 'ha.conf')# bk = 'www.oldboy.org'
# bk2 = 'test.oldboy.org'
# rd = 'server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000'
# rd2 = 'server 100.1.7.1 100.1.7.1 weight 10 maxconn 1000'
#
# modify_2(bk,rd,bk2,rd2)while(1):import timeimport shutilshutil.copy('ha.conf', 'ha.backup' + time.strftime('%Y-%m-%d-%H-%M-%S'))choice = int(input('''
HAproxy配置文件操作:
1、输入backend,显示对应server信息
2、添加backend和server信息
3、修改backend和server信息
4、删除backend和server信息
***************************************
请输入需要选择的操作编号:'''))if choice == 1:bk = input('请输入需查询的backend:')for i in fetch(bk):print(i)elif choice == 2:bk = input('请输入需添加的backend:')rd = input('请输入需添加的server:')add(bk,rd)elif choice == 3:choice2 = input('''1、仅修改backend2、修改backend和server请选择:''')if choice2 == 1:bk = input('请输入修改前的backend:')bk2 = input('请输入修改后的backend:')modify_1(bk, bk2)elif choice2 == 2:bk = input('请输入修改前的backend:')bk2 = input('请输入修改后的backend:')rd = input('请输入修改前的server:')rd2 = input('请输入修改后的server:')modify_2(bk, rd, bk2, rd2)else:print('编号输入错误')elif choice == 4:bk = input('请输入要删除的backend:')rd = input('请输入要删除的server:')delete(bk, rd)else:print('编号输入错误')

  

2. MOOC - 程序设计基础

  第3周:程序设计方法基础-2 -> 完成

    1)raptor制作流程图

      - The Rapid Algorithmic Prototyping Tool for Ordered Reasoning --用于有 序推理的快速算法原型工具

    2)自底向上的程序设计方法

    3)自顶向下、逐步求精的程序设计方法

    4)结构化程序设计方法

    5)模块化程序设计方法

    6)面向对象程序设计方法

3. MOOC课表

  

4. Python视频

  装饰器学习

转载于:https://www.cnblogs.com/wnzhong/p/5866020.html

2016/09/12相关推荐

  1. 2016.09.14,英语,《Using English at Work》全书笔记

    半个月时间,听完了ESLPod出品的<Using English at Work>,笔记和自己听的时候的备注列在下面.准备把每个语音里的快速阅读部分截取出来,放在手机里反复听. 下一阶段把 ...

  2. 电大计算机网考怎么过,史上最牛--电大计算机网考小抄(考试必备)--2016.09.08【呕心沥血整理、电大考试必过】.doc...

    史上最牛--电大计算机网考小抄(考试必备)--2016.09.08[呕心沥血整理.电大考试必过] 计算机网考Windows操作系统及其应用-选择题B A.Ctrl + Alt B.Ctrl + Shi ...

  3. 计算机一级判断题2016,2016年12月计算机一级考试WPS判断题及答案

    练习做多了自然会形成自己的做题方法和速度,为此,今天百分网小编为大家整理了以下2016年12月计算机一级考试WPS判断题及答案,希望对大家有帮助! 判断题一 1.在Word中,标尺是按一个字符宽度标度 ...

  4. 计算机应用基础考试试题及答案 在word中,用户建立的文件默认,天津大学《计算机应用基础》2016年12月考试期末大作业考核试题...

    请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出. <计算机应用基础>2016年12月考试期末大作业考核试题 试卷总分:100 测试时间:-- 单选题 一.单选题(共50 道试 ...

  5. 令人振奋的好消息!2016年12月8日Google Developers中文网站发布!

    令人振奋的好消息! 2016年12月8日Google Developers中文网站发布! 以往我们需要访问Android的开发网站.Google的开发网站都需要翻墙,苦不堪言.现在Google发布了中 ...

  6. 福建二级计算机考试12,福建农林大学2016年12月计算机二级考试通知

    福建农林大学2016年12月计算机二级考试通知 根据<福建省教育考试院关于做好2016年12月省高校学生计算机应用水平等级考试考务工作的通知>(闽考院社[2016]23号),定于2016年 ...

  7. 制药工程专业计算机二级,全国制药工程本科专业认证标准2016年12月修订.pdf

    全国制药工程本科专业认证标准 (2016 年12 月修订) 一级指标  二级指标  观测点  标准内涵 设置依据  专业设置适应国家及地区经济建设及行业发展需要,符合学校自身条件.定位与发展规划. 专 ...

  8. 2016二级c语言成绩查询,2016年12月计算机二级C语言测试及答案

    以下是百分网小编为大家整理的2016年12月计算机二级C语言测试题,大家可以来做一做,巩固一下自己的知识. 一.单选题 (1)*作系统主要有两个方面重要作用,下面叙述最恰当的是 A)管理系统的软件和硬 ...

  9. 2016年12月当前世界经济形势分析--美国的加息计谋

     2016年12月当前世界经济形势分析--美国的加息计谋       美国2016年12月14终于加息了!       美国金融的套骗计谋,这次太过明显! 1.一直叫嚷着要加息,直到年末才兑现了一次! ...

最新文章

  1. 如何用excle制作黑人拉馆_家居DIY带你学习如何用塑料勺制作壁挂!
  2. 让Exchange 2010 (2007适用)可以收发外部邮件
  3. python买什么书好-python看什么书好
  4. 第一次做安卓项目使用的开源框架列表
  5. python3批量修改文件名称 代码说明
  6. Java 8系列之Stream中万能的reduce
  7. sklearn:sklearn.feature_selection的SelectFromModel函数的简介、使用方法之详细攻略
  8. 做网站用UTF-8还是GB2312?
  9. Microsoft Speech Platform
  10. Codeup-问题 C: 最短路径
  11. GitHub for windows使用教程(三) 团队协作流程
  12. 一些机器学习数据集(Dataset)
  13. 闲来没事写个记事本玩玩!!!
  14. 点击按钮弹出iframe_WEB安全(四) :CSRF与点击劫持
  15. 数据访问层代码自动生成
  16. 小米10/10 Pro详细规格曝光:120Hz高刷新率屏+66W超级闪充
  17. 园子是技术的园子吗?
  18. django 分页(2) 使用类 页码显示
  19. http 请求中的 referer
  20. pdf需要简体中文语言支持包_收集全网最好用的PDF转Word工具,赶快收藏起来!...

热门文章

  1. 用C语言实现控制台模拟显示时
  2. sdut2772 KMP的简单应用
  3. c++派生类和基类的构造函数和析构函数
  4. 广义回归神经网络(GRNN)的数据预测
  5. 【mysql解决方案】ERROR 1248 (42000): Every derived table must have its own alias
  6. 2018第九届蓝桥省赛题目
  7. alpinestars与丹尼斯_骑行靴|丹尼斯VS A星心得分享,它和普通鞋子不同之处竟在这里!...
  8. 一次难得的分库分表实践
  9. python之matloplib可视化
  10. Ubuntu 16.04 下Redis Cluster集群搭建