基本要求:
用户可以模糊查询员工信息显示匹配了多少条,匹配字符需要高亮显示
代码:
- #!/usr/env python
- #coding:utf-8
- import time
- def BreakFlag(): #用于设置标志位
- while True:
- Break_Flag=raw_input(' 是否继续?(y/n):')
- if Break_Flag=='y' or Break_Flag=='n':
- return Break_Flag
- else:
- print ''''' 输入错误,请重新输入!'''
- Info_File=open(r'information.txt','r') #只读方式打开员工信息表文件
- Employee_Info=Info_File.readlines() #生成一个员工信息列表,列表中元素为员工信息字符串
- Info_File.close() #关闭员工信息表文件
- Break_Flag=''
- print ''''' 33[34;1m您好,欢迎来到员工信息查询系统! 33[0m '''
- while Break_Flag!='n':
- while True:
- Search_Info=raw_input(''''' 请输入您需要查询的信息:''')
- if len(Search_Info)>2: #判断输入字符长度,小于3个字符,则需要重新输入
- break
- else:
- print ''''' 33[31;1m您输入信息太少,请重新输入! 33[0m '''
- count_number=0
- Search_Info_List=[]
- for i in Employee_Info:
- if i.count(Search_Info)>0:
- #将搜索到的字符串进行替换,并追加到Search_Info_List列表中
- Search_Info_List.append(i.replace(Search_Info,''''' 33[42;31;1m%s 33[0m''' % Search_Info))
- count_number+=1 #一条记录匹配成功
- #count_number+=i.count(Search_Info)#统计每次搜寻到的字符串的个数,并进行累加
- if count_number>0:
- #若搜寻到字符串,将统计到的字符串总个数和包含字符串的列表进行屏幕打印
- print ''''' 共查询到: 33[31;1m %s