#!/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"
)
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\n"
)
if
YesAndNo ==
'y'
:
Login()elif YesAndNo ==
'n'
:
Register()
else
:
print
(
"谢谢你的使用!!"
)
exit
()