对系统的登录进行判断,也就是说对不同的输入进行判断是否账号密码正确从而进行登录。
import os
file_name = '用户信息'
def main():
f = open("user.txt", "r")
u = f.read()
f.close()
if u == '0':
print("首次启动")
print_mune()
w_file()
init()
user_select()
elif u == '1':
print("欢迎回来")
user_select()
else:
print("登录出错")
# 更改文件内容,使得登录状态发生改变
def w_file():
f = open("user.txt", "w")
f.write("1")
f.close()
def init():
root = {'name': 'root', 'r_password': '123456'}
# 创建管理员
f = open("u_root", "w")
f.write(str(root))
f.close()
if not os.path.exists(file_name):
os.mkdir(file_name)
def print_mune():
print("选择登录 0:普通用户 1:管理员身份")
print("==================================")
def user_select():
while True:
user_type = input("选择身份 0:普通用户 1:管理员身份")
if user_type == '0':
print("普通用户登录")
s = input("是否需要注册 y/n")
while True:
if s == 'y' or s == 'Y':
print("用户注册")
user_res()
break
elif s == 'n' or s == 'N':
user_login()
break
else:
print("输入错误")
break
elif user_type == '1':
print("管理员登录")
root_login()
break
else:
print("输入有误")
break
break
def root_login():
while True:
root_name = input("请输入账号")
root_password = input("请输入密码")
f = open("user", "r")
root = eval(f.read())
f.close()
if root_name == root['name'] and root_password == root['r_password']:
print("登录成功")
break
else:
print("登录失败,请确认账号密码!")
def user_login():
while True:
user_name = input("请输入账号")
user_password = input("请输入密码")
f_path = file_name + '/' + user_name
f = open(f_path, "r")
user = eval(f.read())
f.close()
if user_name == user['name'] and user_password == user['u_password']:
print("登录成功")
break
else:
print("登录失败,请确认账号密码!")
def user_res():
user_name = input("请输入账号")
user_password = input("请输入密码")
user = {"name": user_name, "u_password": user_password}
f_path = file_name + '/' + user_name
f = open(f_path, 'w')
f.write(str(user))
f.close()
if __name__ == '__main__':
main()
在这里需要使用到一个文件user.txt 在里面写入一个0,在进行登录的操作的时候会进行变化。
在选择是否需要注册账号的时候,注册账号之后,会把账号密码进行用一个文件进行保存,且文件名就是账号,以至于在进行登录的时候直接查询以账号为文件名的文件进行密码匹配