Python實(shí)現(xiàn)登陸文件驗(yàn)證方法
代碼主要功能:
利用Python實(shí)現(xiàn)簡(jiǎn)單的登陸驗(yàn)證,代碼主要有兩個(gè)部分組成:
第一部分:登陸頁(yè)面,作用是實(shí)現(xiàn)用戶名和密碼的輸入
利用兩個(gè)輸入函數(shù)input()來(lái)實(shí)現(xiàn)對(duì)用戶名和密碼的輸入
第二部分:文件驗(yàn)證,作用是對(duì)輸入的信息進(jìn)行驗(yàn)證
1.用戶名的驗(yàn)證,首先對(duì)存儲(chǔ)用戶名和密碼的信息讀取,然后再把輸入的用戶名和從文件中讀取的用戶名進(jìn)行比對(duì),如果比對(duì)成功則進(jìn)行下一步的密碼驗(yàn)證,如果沒有實(shí)現(xiàn)則提示重新輸入密碼,對(duì)密碼的驗(yàn)證也有一個(gè)輸入上限,當(dāng)密碼輸入錯(cuò)誤3次,程序退出。否則驗(yàn)證成功。
登陸頁(yè)面代碼:
import text #text為文件名:text.py 用來(lái)實(shí)現(xiàn)文件驗(yàn)證 print("歡迎使用登陸") username = input("請(qǐng)輸入用戶名:") while text.CheckUsername(username)==-1: username = input("沒有該用戶\n請(qǐng)輸入用戶名:") else: n=text.CheckUsername(username) password = input("請(qǐng)輸入密碼:") text.CheckUser(n,password)
文件驗(yàn)證代碼:
import pickle def CheckUsername(name):#檢驗(yàn)是否有該用戶名 ff = open("D:\\test.txt", "rb") n = pickle.load(ff) # print(n) # print(n[0][0]) # print(len(n)) ff.close() for i in range(len(n)): if name == n[i][0]: return i return -1#用來(lái)返回用戶名所在位置 def CheckUser(x,psd):#x為用戶名位置,pwd為密碼 ff = open("D:\\test.txt", "rb") n = pickle.load(ff) # print(n) # print(n[0][0]) # print(len(n)) ff.close() i=1 while n[x][1]!=psd and i<3: psd=input("請(qǐng)?jiān)俅屋斎朊艽a:") i+=1 else: if i<3: print("登陸成功!") else: print("3次輸入密碼錯(cuò)誤!已鎖定")
運(yùn)行結(jié)果截圖:
成功登陸頁(yè)面:
驗(yàn)證用戶名頁(yè)面:
驗(yàn)證密碼頁(yè)面:
附加內(nèi)容:
用戶名和密碼在文件的存儲(chǔ)方式是一個(gè)列表:
import pickle s=[["aaa","111"],["bbb","222"],["ccc","333"]] f = open("D:\\test.txt","wb") try: pickle.dump(s,f) except: print("輸入異常") finally: f.close()
- python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法
- python密碼錯(cuò)誤三次鎖定(實(shí)例講解)
- Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能
- Python使用裝飾器模擬用戶登陸驗(yàn)證功能示例
- python實(shí)現(xiàn)帶驗(yàn)證碼網(wǎng)站的自動(dòng)登陸實(shí)現(xiàn)代碼
- Python 用戶登錄驗(yàn)證的小例子
- Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證
- Python模擬用戶登錄驗(yàn)證
- Python模擬登錄驗(yàn)證碼(代碼簡(jiǎn)單)
- Python實(shí)現(xiàn)賬號(hào)密碼輸錯(cuò)三次即鎖定功能簡(jiǎn)單示例
相關(guān)文章
基于Python編寫一個(gè)監(jiān)控CPU的應(yīng)用系統(tǒng)
在使用電腦辦公時(shí),有時(shí)候不知道哪些軟件或進(jìn)程會(huì)占用大量的資源,導(dǎo)致進(jìn)行其他任務(wù)時(shí)出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實(shí)時(shí)監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫了一款超治愈的RunCat監(jiān)控應(yīng)用系統(tǒng),需要的可以參考一下2022-06-06Python使用Selenium時(shí)遇到網(wǎng)頁(yè)<body>劃不動(dòng)的問題解決方法
如果在使用 Selenium 時(shí)遇到網(wǎng)頁(yè)的 <body> 劃不動(dòng)的問題,這通常是因?yàn)轫?yè)面的滾動(dòng)機(jī)制(例如,可能使用了一個(gè)具有固定高度的容器或自定義的滾動(dòng)條)導(dǎo)致無(wú)法通過簡(jiǎn)單的 JavaScript 實(shí)現(xiàn)滾動(dòng),可以通過以下方法來(lái)解決該問題2024-10-10Python解析Excle文件中的數(shù)據(jù)方法
今天小編就為大家分享一篇Python解析Excle文件中的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-10-10Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承示例
這篇文章主要介紹了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承,結(jié)合具體實(shí)例形式對(duì)比分析了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承相關(guān)操作技巧,需要的朋友可以參考下2018-01-01plt.figure()參數(shù)使用詳解及運(yùn)行演示
這篇文章主要介紹了plt.figure()參數(shù)使用詳解及運(yùn)行演示,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python基礎(chǔ)教程之while循環(huán)用法講解
Python中除了for循環(huán)之外還有一個(gè)while循環(huán),下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之while循環(huán)用法講解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12