这篇文章主要介绍了python登录注册程序编写连接数据库gui编程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
大致的思路 我是分别写了五个函数fileRead() 文件读取FileWrite()文件写入FileModify()文件修改Register()注册Login()登陆
来实现整个功能的,话不多说直接上代码了
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: linghanchujian"""
实现一个登陆注册功能
提示是否拥有账号 有跳转登陆 没有跳转注册
注册
检查文件中是否有相同的账号名
注册成功后跳转到登陆
登陆
输入用户名和密码
认证成功后显示欢迎登陆
三次失败是锁定账号"""import osimport jsonimport getpass
DATAJSON = '' #临时用来存放数据"""文件的读取"""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文件没有就创建Data文件"""LoginAndRegistrationData = open("G:/Data.txt", "w")
Sub = 1if DATAJSON != '':for d in DATAJSON:
Sub += 1DATAJSON["User"+str(Sub)] = {"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(Sub)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\n")if YesAndNo == 'y':
Login()elif YesAndNo == 'n':
Register()else:print("谢谢你的使用!!")
exit()