小菜鳥的python學習之路----資訊查詢系統

來源:互聯網
上載者:User

標籤:使用者名稱   原始碼   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學習之路----資訊查詢系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.