基本要求:

用户可以模糊查询员工信息

显示匹配了多少条,匹配字符需要高亮显示

代码:

  1. #!/usr/env python
  2. #coding:utf-8
  3. import time
  4. def BreakFlag(): #用于设置标志位
  5. while True:
  6. Break_Flag=raw_input('\t\t\t是否继续?(y/n):')
  7. if Break_Flag=='y' or Break_Flag=='n':
  8. return Break_Flag
  9. else:
  10. print '''''\t\t输入错误,请重新输入!'''
  11. Info_File=open(r'information.txt','r') #只读方式打开员工信息表文件
  12. Employee_Info=Info_File.readlines()  #生成一个员工信息列表,列表中元素为员工信息字符串
  13. Info_File.close() #关闭员工信息表文件
  14. Break_Flag=''
  15. print '''''\n\t\t\t\t\033[34;1m您好,欢迎来到员工信息查询系统!\033[0m\n'''
  16. while Break_Flag!='n':
  17. while True:
  18. Search_Info=raw_input('''''\n\t\t\t请输入您需要查询的信息:''')
  19. if len(Search_Info)>2: #判断输入字符长度,小于3个字符,则需要重新输入
  20. break
  21. else:
  22. print '''''\n\t\t\t\033[31;1m您输入信息太少,请重新输入!\033[0m\n'''
  23. count_number=0
  24. Search_Info_List=[]
  25. for i in Employee_Info:
  26. if i.count(Search_Info)>0:
  27. #将搜索到的字符串进行替换,并追加到Search_Info_List列表中
  28. Search_Info_List.append(i.replace(Search_Info,'''''\033[42;31;1m%s\033[0m''' % Search_Info))
  29. count_number+=1 #一条记录匹配成功
  30. #count_number+=i.count(Search_Info)#统计每次搜寻到的字符串的个数,并进行累加
  31. if count_number>0:
  32. #若搜寻到字符串,将统计到的字符串总个数和包含字符串的列表进行屏幕打印
  33. print '''''\n\t\t\t共查询到:\033[31;1m %s \033[0m条信息!\n''' % count_number
  34. for i in Search_Info_List:
  35. print i
  36. else:
  37. print '''''\n\t\t\t\033[31;1m没有您查找的信息!\033[0m\n'''
  38. Break_Flag=BreakFlag()
  39. for i in range(3):
  40. print '''''\n\t\t\t\033[31;5m谢谢使用员工信息查询系统,%s秒后,退出系统\033[0m''' % (3-i)
  41. time.sleep(1)
  42. exit('\n\t\t\t\t您已经退出员工查询系统!')
  43. #import sys
  44. #sys.exit('\n\t\t\t\t您已经退出员工查询系统!')
 

假定员工信息存放在 information.txt文件中,如下:

song@ubuntu:~$ more information.txt
name:marry  age:23  sex:man  job:IT
name:song dada  age:23  sex:man  job:HR
name:zhang sanfeng  age:23  sex:man  job:IT
name:zhang wuji  age:23  sex:man  job:accountant
name:ling huchong  age:23  sex:man  job:IT
name:xiaoping  age:23  sex:man  job:manager
name:li yuanfang  age:23  sex:man  job:IT
name:feng feng  age:23  sex:man  job:boss
运行程序,示例如下:

python-查询员工信息表的更多相关文章

  1. python作业员工信息表程序(第四周)

    作业需求: 1. 员工信息表程序,实现增删改查操作: 2. 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 ...

  2. day12 python作业:员工信息表

    作业要求: 周末大作业:实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearc ...

  3. python练习题-员工信息表

    周末大作业:实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearcher3,n ...

  4. python写员工信息表作业笔记

    需求 流程图

  5. python基础之员工信息表作业

    周末大礼包 文件存储格式如下: id, name, age, phone, job 1, Alex, 22, 13651054608, IT 2, Egon, 23, 13304320533, Tea ...

  6. python's sixteenth day for me 员工信息表

    import os user_dic = { 'username':None, 'password':None, 'login':True } flag = False name_list = ['i ...

  7. Python员工信息表练习

    1.用户可以模糊查询员工信息 2.显示匹配了多少条,匹配字符需要高亮显示 employee_db.txt 总经办 龚丽丽 总经理 男 -- 1月18日 汉 族 中共党员 已婚 总经办 李惠 副总经理 ...

  8. python-打印简单公司员工信息表

    python-打印简单公司员工信息表 要求,输入name不为空,输入次数最多3次,3次后跳出程序: 知识点: raw_input str转int whil if elif else continue ...

  9. python3 员工信息表

    这是最后一条NLP了......来吧 十二,动机和情绪总不会错,只是行为没有效果而已 动机在潜意识里,总是正面的.潜意识从来不会伤害自己,只会误会的以为某行为可以满足该动机,而又不知道有其他做法的可能 ...

随机推荐

  1. Android扫描二维码 实现 登录网页

    工程代码:ScanQRcode.zip ------------------------------------------------------------------ 1. 扫描二维码登录的实现 ...

  2. how to make choices about girls?

    yb ldge nvhl, yige hf csmn, hv bmig, hv zofj, hfyb uhjnxn;ldyige ybdm bfbfde, gjjt hf djip, djui hfk ...

  3. Python面向对象OOP

    一 OOP     与C++和Java一样,Python同样具有OOP设计. 过程式:从前到后,一条一条,机器能接受的顺序性方式:方式大概为"首先你应该做什么,第二应该做什么,高级点的做点假 ...

  4. SQL语句操作大全

    SQL语句操作大全   本文分为以下六个部分: 基础部分 提升部分 技巧部分 数据开发–经典部分 SQL Server基本函数部分 常识部分 一.基础 1.说明:创建数据库CREATE DATABAS ...

  5. bzoj2127: happiness

    Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友 ...

  6. iOS播放短的音效

    在IOS中,有的时候需要播放很简短的声音文件,比如系统声音等,我们需要使用到下面的方式来播放声音: // 一.引入头文件 #import <AudioToolbox/AudioToolbox.h ...

  7. PLSQL Developer如何设置自动打开上次编辑的文件

    作为开发人员经常把sql语句保存到文件中以方便下次继续使用,问题是plsqlDev重启后每次都需要手工打开这个文件,好不方便: 以下设置是plsqlDev启动后自动打开上次编辑的文件. 选择配置> ...

  8. 登录远程SQL服务器

    一 看ping 服务器IP能否ping通. 这个实际上是看和远程sql server 2000服务器的物理连接是否存在.如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务 ...

  9. BZOJ 2423 最长公共子序列

    Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0, ...

  10. [BZOJ 3626] [LNOI2014] LCA 【树链剖分 + 离线 + 差分询问】

    题目链接: BZOJ - 3626 题目分析 考虑这样的等价问题,如果我们把一个点 x 到 Root 的路径上每个点的权值赋为 1 ,其余点的权值为 0,那么从 LCA(x, y) 的 Depth 就 ...