功能說明:python
(1)用戶認證功能,只有輸入對的用戶名和密碼後才能查詢
(2)能夠查員工的ID,Name,部門,電話
(3)查詢的接口關鍵字是姓名,用戶經過姓名來查其餘關聯相關信息。
(4)查完了輸出用戶信息,若是查詢失敗,報沒有這個用戶,而後循環起來數據庫
python源代碼以下(經過讀取外部文件來導入數據)ide
#!/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
spa