標籤:使用者名稱 原始碼 password python 查詢系統
功能說明:
(1)使用者認證功能,只有輸入對的使用者名稱和密碼後才能查詢
(2)可以查員工的ID,Name,部門,電話
(3)查詢的介面關鍵字是姓名,使用者通過姓名來查其他關聯相關資訊。
(4)查完了輸出使用者資訊,如果查詢失敗,報沒有這個使用者,然後迴圈起來
python原始碼如下(通過讀取外部檔案來匯入資料)
#!/usr/bin/env python# encoding=utf-8# author:sihaogongyuan# date:2015-4-5# desc:2015-4-5 testimport sysimport os#輸出系統當前的時間,並分隔####################################print os.system(‘date‘),‘\n‘,‘#################################‘#假設資料庫中的name和password都為adminmanage_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變數為空白的話,提示使用者重新輸入使用者名稱,直到非空 #此時直接按斷行符號鍵,代表傳遞過去的也是Null 字元串,注意 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
本文出自 “將營運進行到底” 部落格,請務必保留此出處http://3971212.blog.51cto.com/3961212/1629068
小菜鳥的python學習之路----資訊查詢系統