key 知识点:函数的定义, 函数的递归调用, flag 标志位的使用,eval() 函数

#!C:Program FilesPython35in # -*- conding:utf-8 -*- # author: Frank def search_backend(): search_list=[] #定义一个空列表,存放所查到backend的信息 search_input = input("please input the backend which you want to search ") with open ('Haproxy.cfg') as f: backend_flag = False #初始化标志位False for line in f: if line.strip()== 'backend %s'%search_input: #当匹配到所要查询的backend信息时,标志位为True,跳出本次循环,继续下一次循环 backend_flag = True continue if backend_flag and line.strip().startswith('backend'): #上一个if语句,将标志位置为True,当再次遇到以’backend‘ 开头时 #已经为下一个backend信息 break if backend_flag and line.strip(): # 将上两个if条件除外的行追加到列表 search_list,即我们想要的行 search_list.append(line.strip()) if len(search_list) == 0: print("