1 def search(): #查找域名函数 2 """ 3 1.readlines将内容变成一个列表 4 2.找到域名对应的索引 5 3.域名接下来几行是具体的服务器信息,利用上面索引循环加1遍历 6 """ 7 url = 'www.oldboy.net' 8 url_title = 'backend %s ' % url 9 with open('haproxy.txt','r') as f: 10 f_read = f.readlines() 11 if url_title in f_read: 12 index = f_read.index(url_title) 13 print(f_read[index]) 14 index = index + 1 15 while index < len(f_read): 16 # print(len(f_read)) 17 if 'weight' in f_read[index] : 18 print(f_read[index]) 19 index+=1 20 else: 21 break 22 else: 23 exit('没有此域名') 24 25 def modifeild(): #删除 26 """ 27 1.利用上面查找的方法,先把域名对应条目索引取出放在一个列表中 28 2.再将老文件内容逐行写入新文件,当索引在上面列表时就忽略不写入,(然后把旧文件删除,新文件改成旧文件名,这部分没写) 29 """ 30 url = 'www.oldboy.ne' 31 url_title = 'backend %s ' % url 32 index_list = [] 33 with open('haproxy.txt', 'r') as f,open('haproxynew.txt', 'w+') as fnew: 34 f_read = iter(f.readlines()) 35 if url_title in f_read: 36 index = f_read.index(url_title) 37 print(f_read[index]) 38 index_list.append(index) 39 print(index_list) 40 index = index + 1 41 while index < len(f_read): 42 # print(len(f_read)) 43 if 'weight' in f_read[index]: 44 index_list.append(index) 45 print(f_read[index]) 46 print(index_list) 47 index += 1 48 else: 49 for i,line in enumerate(f_read): 50 if i in index_list: 51 pass 52 else: 53 fnew.write(line) 54 else: 55 exit('没有此域名') 56 57 def add(): #新增 58 '''" 59 首次新增时,域名和服务器信息一起添加,再次添加时,只添加服务器信息 60 """ 61 url = 'www.baidu.com' 62 url_title = 'backend www.baidu.com ' 63 server = '1.1.1.3' 64 weight = '30' 65 maxconn = '3000' 66 with open('haproxy.txt', 'r+') as f: 67 f_read = f.readlines() 68 print(f_read) 69 if url_title in f_read: 70 content = " server {} {} weight {} maxconn {} " 71 .format(server, server, weight, maxconn) 72 print(content) 73 f.write(content) 74 else: 75 print(url_title) 76 f.write(' ') 77 f.write(url_title) 78 content = " server {} {} weight {} maxconn {} " 79 .format(server, server, weight, maxconn) 80 print(content) 81 f.write(content)