fileRead() 文件讀取
FileWrite()文件寫入
FileModify()文件修改
Register()注冊
Login()登陸 來實現(xiàn)整個功能的,話不多說直接上代碼了
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: linghanchujian""" 實現(xiàn)一個登陸注冊功能 提示是否擁有賬號 有跳轉(zhuǎn)登陸 沒有跳轉(zhuǎn)注冊 注冊 檢查文件中是否有相同的賬號名 注冊成功后跳轉(zhuǎn)到登陸 登陸 輸入用戶名和密碼 認證成功后顯示歡迎登陸 三次失敗是鎖定賬號"""import osimport jsonimport getpass DATAJSON = '' #臨時用來存放數(shù)據(jù)"""文件的讀取"""def FileRead(): LoginAndRegistrationData = open("G:/Data.txt","r")if os.path.getsize("G:/Data.txt")!= 0:global DATAJSON # 全局變量DATAJSON = json.loads(LoginAndRegistrationData.read())# DATAJSON = LoginAndRegistrationData.read()# print(DATAJSON) LoginAndRegistrationData.close()pass"""文件的寫入"""def FileWrite(DATAJSON,userName,passWord):"""直接打開一個txt文件沒有就創(chuàng)建Data文件"""LoginAndRegistrationData = open("G:/Data.txt", "w") Subscript = 1if DATAJSON != '':for d in DATAJSON: Subscript += 1DATAJSON["User"+str(Subscript)] = {"UserName":userName,"Password":passWord,"isLocking":False}else: DATAJSON = {"User1":{"UserName":userName,"Password":passWord,"isLocking":False}} JsonData = json.dumps(DATAJSON, ensure_ascii=False) LoginAndRegistrationData.write(JsonData) LoginAndRegistrationData.close()# print(Subscript)pass"""文件的修改"""def FileModify(n):# 對文件進行修改DATAJSON[str(n)]["isLocking"] = True# 對文件進行儲存LoginAndRegistrationData = open("G:/Data.txt", "w") JsonData = json.dumps(DATAJSON, ensure_ascii=False) LoginAndRegistrationData.write(JsonData) LoginAndRegistrationData.close()pass"""注冊程序"""def Register():print("------------歡迎來注冊!!---------") RegisterUserName = input("注冊賬號:")if DATAJSON != '':for d in DATAJSON:if DATAJSON[d]["UserName"]==RegisterUserName:print("該賬號已被注冊!!!") Register()return ; RegisterPassWord = input("注冊密碼:")try: FileWrite(DATAJSON,RegisterUserName,RegisterPassWord)finally:print("注冊成功!!") Login()pass"""登陸程序"""def Login():print("------------歡迎來到登陸!!-----------") isUserName = True LoginUser = input("賬號:")for d in DATAJSON:# print(d)# print(DATAJSON[d]["UserName"]+"and"+LoginUser)if LoginUser == DATAJSON[d]["UserName"]: isUserName = Falseif DATAJSON[d]["isLocking"]==True:print("該賬號已被鎖定,請更換賬號!!") Login()returnelse:for i in range(3):if i>0:print("密碼錯誤你還有"+str(3-i)+"次機會") LoginPassword = input("密碼:")if DATAJSON[d]["Password"]==LoginPassword:print("登陸成功!!")returnelse:if i == 2:print("三次機會用完,該賬號已被鎖定!!") FileModify(d) Login()else:if isUserName:print("沒有該賬號!!") Login()passFileRead()print(DATAJSON) YesAndNo = input("是否擁有賬號?y/n ")if YesAndNo == 'y': Login()elif YesAndNo == 'n': Register()else:print("謝謝你的使用!!") exit()
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com