# yangqiao

#查询
'''
f=open("C:\\aaaaaaaaaaaaa\\haproxy.txt", "r", encoding="utf-8")
haproxy_list = f.readlines()
website_address = input("请输入要查询的网址:")
website_address = "backend " + website_address
lenth=len(haproxy_list)
#print(website_address)
i=0
j=1
for line in haproxy_list:
if website_address in line and line.startswith("backend"):
print(haproxy_list[i])
j=i+1
while "backend" not in haproxy_list[j] :
print(haproxy_list[j])
j+=1
if j >= lenth:
break
elif j == lenth and i == lenth:
print("你输入的内容查询不到")
i+=1
if i == lenth and j==1:
print("你输入的内容查询不到")
f.close() #删除
f=open("C:\\aaaaaaaaaaaaa\\haproxy.txt", "r", encoding="utf-8")
f_new=open("C:\\aaaaaaaaaaaaa\\haproxy_new.txt", "a+", encoding="utf-8")
website_address = input("请输入要删除的网址:")
website_address=eval(website_address)
print(website_address) for line in f:
if website_address["bakend"] in line and line.startswith("backend"):
pass
elif website_address["record"]["server"] in line:
pass
else:
f_new.write(line) f.close()
f_new.close()
''' #新增
f=open("C:\\aaaaaaaaaaaaa\\haproxy.txt", "r", encoding="utf-8")
f_new=open("C:\\aaaaaaaaaaaaa\\haproxy_new.txt", "a+", encoding="utf-8")
haproxy_list = f.readlines()
temple=[]
print(haproxy_list)
lenth=len(haproxy_list)
website_address = input("请输入要新增的网址:")
website_address=eval(website_address)
print("lenth:",lenth)
i=0
j=0
k=0
for line in haproxy_list:
if website_address["backend"] in line and line.startswith("backend") :
#print(haproxy_list[i])
j=i+1
print(j)
print(haproxy_list[j])
#while "backend" not in haproxy_list[j] and j <= lenth-1:
while j <= lenth-1:
if "backend" not in haproxy_list[j]:
if website_address["record"]["server"] in haproxy_list[j]:
j+=1
else:
temple.append(haproxy_list[j])
k+=1
j+=1
#print("ddddddddddddd")
i=j
#print(temple)
elif i <= lenth-1: f_new.write(haproxy_list[i]) if j==0 and i== lenth-1 :
f_new.write("backend "+website_address["backend"]+"\n")
f_new.write(" " + "server " + website_address["record"]["server"] + " weight " + website_address["record"][ "weight"] + " maxconn " + website_address["record"]["maxconn"] + "\n")
i += 1 print(temple)
f.close()
f_new.close() lenth_temple=len(temple)
if lenth_temple != 0: with open("C:\\aaaaaaaaaaaaa\\haproxy_new.txt", "a+", encoding="utf-8") as f_w:
sss="backend "+website_address["backend"]+"\n"
f_w.write(sss)
for line in temple:
f_w.write(line)
zzz=str(" "+"server "+website_address["record"]["server"]+" weight "+website_address["record"]["weight"]+" maxconn "+website_address["record"]["maxconn"]+"\n")
f_w.write(zzz)

Traceback (most recent call last):
  File "C:/Users/lcl/PycharmProjects/untitled/day1/修改haproxy配置文件.py", line 105, in <module>
    zzz=str("        "+"server "+website_address["record"]["server"]+" weight "+website_address["record"]["weight"]+" maxconn "+website_address["record"]["maxconn"]+"\n")
TypeError: must be str, not int

这样相加,因为里面有INT类型,导致最后zzz不是字符串类型,需要先转换成str类型,在拼接

作业-haproxy配置文件的增删查(有一个bug不知道咋改)的更多相关文章

  1. [ python ] 项目:haproxy配置文件增删改查

    1. 开发要求 实现对 haproxy.cfg 增删改查操作 2. 程序介绍 # 作者:hkey # 博客地址:https://www.cnblogs.com/hukey/p/9288279.html ...

  2. Python3.5 day3作业二:修改haproxy配置文件。

    需求: 1.使python具体增删查的功能. haproxy的配置文件. global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 lo ...

  3. python之haproxy配置文件操作(第三天)

    作业: 对haproxy配置文件进行操作 要求: 对haproxy配置文件中backend下的server实现增删改查的功能 一.这个程序有二个版本 1. python2.7版本见haproxy_py ...

  4. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  5. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  6. hibernate基础增删查改简单实例

    hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的 ...

  7. 一套手写ajax加一般处理程序的增删查改

    倾述下感受:8天16次驳回.这个惨不忍睹. 好了不说了,说多了都是泪. 直接上代码 : 这个里面的字段我是用动软生成的,感觉自己手写哪些字段太浪费时间了,说多了都是泪 ajax.model层的代码: ...

  8. ASP.NET动态的网页增删查改

    动态页面的增删查改,不多说了,直接上代码 跟前面的一般处理程序一样我上用的同一套三层,只是UI层的东西不一样,在纠结着要不要重新在上一次以前上过的代码: 纠结来纠结去,最后我觉得还上上吧,毕竟不上为我 ...

  9. SSH框架的多表查询和增删查改 (方法一)中

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>http://www.cnblogs.com/zhu520/p/7774144.html   这边文章是接的刚刚前一遍的基础上敲的  ...

随机推荐

  1. java第七周----json

    JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于 ...

  2. matlab简介 基本操作

    1.快捷键: Tab.Ctrl+] :增加缩进 Ctrl+[ :减少缩进 Ctrl+I:自动缩进 Ctrl+R:增加注释 Ctrl+T:去掉注释 F12:设置或清除断点 F5:运行 2.特殊变量: i ...

  3. Oracle误删除数据和表的恢复办法包括truncate

    在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法: 主要是利用Oracle回收站的闪回特性ora ...

  4. 虚机配置vip命令行配置

    测试脚本:import osimport re import urllib from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler ...

  5. Web服务器软件 (Tomcat)

    1.什么是服务器? 安装了服务器的软件的计算机 服务器软件:接收用户的请求(request),处理请求,做出响应. Web服务器软件:接收用户的请求(request),处理请求,做出响应,再Web服务 ...

  6. 数据结构—头插法逆转单链表——空间复杂度为O(1)

    #if 1 #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; ...

  7. random模块(随机数)

    random.random() #0-1之间的随机数 random.randint(1,10) #1-10 包括10的随机数 --> int random.choice(list) #随机选取列 ...

  8. JavaScript中常用的BOM对象(属性、方法)

    window对象 定义: 一个浏览器窗口实例 与窗口有关的信息(应用程序编程接口) ECMAScript规定的Global对象 方法 open(url),返回标识符 引用 即将打开窗口的.(调用该引用 ...

  9. CMD如何快速打开当前文件夹窗口

    /******************************************************************************* * CMD如何快速打开当前文件夹窗口 ...

  10. Fiddler 抓包的基本介绍

    一.什么是Fiddler? Fiddler是一种常见的抓包分析软件,我们可以使用它对HTTP请求进行分析,并模拟对应的HTTP请求. 二.Fiddler抓包实现的原理 Fiddler就相当于某二手车直 ...