功能说明:
(1)用户认证功能,只有输入对的用户名和密码后才能查询
(2)可以查员工的ID,Name,部门,电话
(3)查询的接口关键字是姓名,用户通过姓名来查其他关联相关信息。
(4)查完了输出用户信息,如果查询失败,报没有这个用户,然后循环起来
python源代码如下(通过读取外部文件来导入数据)
#!/usr/bin/env python # encoding=utf-8 # author:sihaogongyuan # date:2015-4-5 # desc:2015-4-5 test import sys import os #输出系统当前的时间,并分隔#################################### print os.system(‘date‘),‘\n‘,‘#################################‘ #假设数据库中的name和password都为admin manage_name_db=‘admin‘ manage_password_db=‘admin‘ ################################################################# #定义死循环,使用户可以直接循环输入要查询的东西 while True: #让用户输入管理员名称 manage_name=raw_input(‘please input your manage name:‘) #如果用户输入的管理员名称和定义的数据库中名称一样,则让用户输入管理密码 if manage_name==manage_name_db: manage_password=raw_input(‘please input your manage password:‘) #当用户输入的管理员密码和db库中的密码不一致时,提示用户再次输入管理密码 #直到密码输入成功 while manage_password!=manage_password_db: manage_password=raw_input(‘manage password is error,please try again:‘) #直到用户密码输对了,跳出密码的这个while循环,执行后面的else语句 else: #打印出欢迎界面,来到软件 print ‘\033[32mwelcome to my contact_select_software!\033[0m‘ #定义用户查询信息代码断,涉及到用户多次查询,所以定义while循环 while True: #定义match变量,初始赋值为NO,代表不匹配 match=‘NO‘ #定义select_name变量,作为被查询的用户名 select_name=raw_input(‘please input you select name:‘) #如果select_name变量为空的话,提示用户重新输入用户名,直到非空 #此时直接按回车键,代表传递过去的也是空字符串,注意 while select_name.strip()==‘‘: select_name=raw_input(‘please input you select name:‘) #打开外部关联文件/tmp/python/contact.txt,默认只读模式 select_file=file(‘/tmp/python/contact.txt‘) #为每次读取文件中的每一行,做一个循环 while True: #line变量的值就是每次调用readline()函数,每次取出一行内容 line=select_file.readline() #len函数判断该行中的字符串数量,如果数量为0代表到文件末,已经读取出了 #最后一行,跳出读取文件的while循环 if len(line)==0: break #当要搜索的名称在该行中,输出该行所有内容 elif select_name in line: print ‘%s‘%(line) #把变量match赋值为YES match=‘YES‘ else : pass #pass为空指令,什么都不执行 #如果要搜索的用户名在所有的行中都没有的话,通过len(line)==0,最后break #跳出了读取文件内容的while循环,因为初始的match变量内容为NO,代表没有匹 #配到,如果文件中出现过搜索的内容的话,match变量就被置为1了。 if match!=‘YES‘: print ‘no match founded‘ #当用户输入的管理员账户与db库中的管理员账户不一致的时候,提示用户输入错了,重新输入 #会跳到最大的while循环那去,manage_name重新接受用户的输入请求 else: print ‘name is not funded,try again:‘
/tmp/python/contact.txt格式如下:(中间以tab键来分隔的)
1 xiaohogn IT 9999999999
2 xiaopang IT 666666666
3 xiaofei IT 8888888888
时间: 2024-10-21 11:53:20